nbsp;s_dev:设备标识符
1 unsigned char s_dirt;
2 unsigned char s_blocksize_bits;
3 unsigned long s_blocksize;
4 loff_t s_maxbytes; /* Max file size */
s_dev:包含该具体文件系统的块设备标识符。例如,对于 /dev/hda1,其设备标识符为 0x301
s_blocksize:文件系统中数据块大小,以字节单位
s_blocksize_bits:上面的size大小占用位数,例如512字节就是9 bits
s_dirt:脏位,标识是否超级块被修改
1 loff_t s_maxbytes; /* Max file size */
s_maxbytes:允许的最大的文件大小(字节数)
1 struct file_system_type *s_type;
struct file_system_type *s_type:文件系统类型(也就是当前这个文件系统属于哪个类型?ext2还是fat32)要区分“文件系统”和“文件系统类型”不一样!一个文件系统类型下可以包括很多文件系统即很多的super_block。
1 const struct super_operations *s_op;
2 const struct dquot_operations *dq_op;
struct super_operations *s_op:指向某个特定的具体文件系统的用于超级块操作的函数集合。
struct dquot_operations *dq_op:指向某个特定的具体文件系统用于限额操作的函数集合。
1 const struct quotactl_ops *s_qcop;
struct quotactl_ops *s_qcop:用于配置磁盘限额的的方法,处理来自用户空间的请求。
1 const struct export_operations *s_export_op;
struct export_operations *s_export_op:导出方法
s_flags:安装标识
s_magic:区别于其他文件系统的标识
s_root:指向该具体文件系统安装目录的目录项
1 struct rw_semaphore s_umount;
s_umount:对超级块读写时进行同步
s_lock:锁标志位,若置该位,则其它进程不能对该超级块操作
s_count:对超级块的使用计数
s_active:引用计数
s_dirty:已修改的索引节点inode形成的链表,一个文件系统中有很多的inode,有些inode节点的内容会被修改,那么会先被记录,然后写回磁盘。
s_locked_inodes:要进行同步的索引节点形成的链表
s_files:所有的已经打开文件的链表,这个file和实实在在的进程相关的
s_bdev:指向文件系统被安装的块设备
u:u 联合体域包括属于具体文件系统的超级块信息
s_instances:具体的意义后来会说的!(同一类型的文件系统通过这个子墩将所有的super_block连接起来)
s_dquot:磁盘限额相关选项
Reference:
http://www.linuxidc.com/Linux/2011-02/32127.htm
http://blog.csdn.net/shanshanpt/article/details/38943731