一、结构体种类:
1、超级块对象struct super_block *sb:
超级块代表了整个文件系统,超级块是文件系统的控制块,有整个文件系统信息,一个文件系统所有的inode
都要连接到超级块上,可以说,一个超级块就代表了一个文件系统。每次一个实际的文件系统被安装时,内核会从
磁盘的特定位置读取一些控制信息来填充内存中的超级块对象。super_block定义在include/linux/fs.h里:
struct super_block {
struct list_head s_list; /*指向超级块链表的指针*/
unsigned char s_blocksize_bits; /*文件系统的块大小的位数*/
unsigned long s_blocksize; /*文件系统的块大小*/
loff_t s_maxbytes; /* 最大文件大小 */
struct file_system_type *s_type; /*文件系统类型*/
const struct super_operations *s_op; /*super_block的操作函数集合*/
const struct dquot_operations *dq_op; /*文件系统的限额操作函数集合*/
unsigned long s_flags; /*文件系统的超级块的状态位*/
struct dentry *s_root; /*指向根目录的dentry结构体*/
int s_count; /*引用计数*/
char s_id[32]; /* 文件系统的名字 */
void *s_fs_info; /* 文件系统的私有信息指针 */
struct list