struct superblock

VFS defines a generic layout for the superblock through this structure. Each filesystem would need to instantiate an object of this structure to fill in its superblock details during mount. In other words, this structure abstracts the filesystem-specific superblock from the rest of the kernel, and helps VFS track all mounted filesystems through a list of struct super_block. Pseudo filesystems, which do not have persistent superblock structure, will dynamically generate superblocks. The superblock structure (struct super_block) is defined in <linux/fs.h>:

struct super_block {         struct list_head        s_list;   /* Keep this first */         dev_t                   s_dev;    /* search index; _not_ kdev_t */         unsigned char           s_blocksize_bits; unsigned long s_blocksize; ...

Get Mastering Linux Kernel Development now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.