glusterfs
Table of Contents
-
Disk Filesystems - video - slides
This session covers the concepts of disk filesystems that are important to understand glusterfs. -
1 Layer above Disk Filesystems(Posix) - video - slides
This session covers how posix xlator converts File Operations(FOPs) in glusterfs to system calls on the underlying disk filesystems.
Following internal data structures are discussed as part of the session.- inode_t
- dentry_t
- fd_t
-
Xlator interface - video - slides
This session covers xlator interface in glusterfs which is how all functionality/modules are divided into in glusterfs. -
Programming Model - video - slides
This session covers programming model used in glusterfs along with the data structures used to achieve it. -
inode_t, fd_t lifecycles - video - slides
This session covers lifecycles of inode_t and fd_t data structures. Debugging ref leaks for these structures is also briefly covered. -
Understanding Gluster's communication layer - video - slides
This session covers Gluster's communication layer. How XDR is used to serialize/deserize data in rpc calls from pov of both client and server xlators. -
Client-Server interactions - video - slides
Client, server interactions for connecting/disconnecting/reconnecting are covered in this session -
Memory tracking in glusterfs, io-threads xlator - video - slides
- Memory tracking infra and how statedumps are used to debug memory leaks is covered
- io-threads xlator implementation is covered.
-
Index xlator - video - slides
Index xlator design and implementation are covered in this session. -
Locks xlator inodelks - video - slides
- Gives brief introduction about the purpose of this xlator
- Introduces and code walkthrough of inodelk part of locks xlator
-
Locks xlator entrylks - video - slides
- Introduces and code walkthrough of entrylk part of locks xlator
- Explains the connection between entrylk and inodelk in deletion code paths
-
Locks xlator posixlk - video - slides
- What is the behavior of posixlks
- Code walkthrough
-
Replication xlator introduction - video - slides
- Replicate xlator graph placement
- On-disk data representation
- On-disk data manipulation with xattrop
- Common functioning of fops
- Lookup
- Open
- readdir/readdirp
- Flush
- Statfs
-
Replication update transaction - video - slides
- Update transaction
- Data/Metadata operation
- Optimizations to reduce the network communication
-
Replication optimizations & Read transaction - video - slides
- read transaction
- Handling of faults by the transaction
- Load balancing strategies
-
Self heal daemon of replication - video - slides
- Intro to self-heal daemon (shd)
- Types of crawls in shd
- Code walkthrough
-
Self heal daemon - data, metadata, entry self-heals - video - slides
- Types of heal needed for a given file/directory
- Code walkthrough of data, metadata, entry self-heals
-
Intro to FUSE and its trade offs - video - slides
- various parts of fuse code in the glusterfs source tree
- the story FUSE version macros tell
- the tale of FUSE and fuse (historical context, terminology)
- to libfuse or not to libfuse?
- FUSE proto breakdown
- mount and INIT