struct super_block {
struct list_head s_list; /* 指向超级块链表的指针 */
dev_t s_dev; /* 设备标识符 */
unsigned char s_dirt; /* 修改(脏)标志 */
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; /*超级块方法 */
const struct dquot_operations *dq_op; /* 磁盘限额处理方法 */
const struct quotactl_ops *s_qcop; /*磁盘限额管理方法 */
const struct export_operations *s_export_op; /*网络文件系统使用的输出操作 */
unsigned long s_flags; /* 安装标志 */
unsigned long s_magic; /* 文件系统的魔数 */
struct dentry *s_root; /* 文件系统根目录的目录项对象 */
struct rw_semaphore s_umount; /*卸载所用的信号量 */
struct mutex s_lock; /*超级块信号量 */
int s_count; /* 引用计数器 */
atomic_t s_active; /* 次级引用计数器 */
#ifdef CONFIG_SECURITY
void *s_security; /* 指向超级块安全数据的指针 */
#endif
const struct xattr_handler **s_xattr; /* 指向超级块扩展属性结构的指针 */
struct list_head s_inodes; /* 所有索引节点的链表 */
struct hlist_bl_head s_anon; /* 用于处理远程网络文件系统的匿名目录项的链表 */
#ifdef CONFIG_SMP
struct list_head __percpu *s_files; /* 文件对象的链表 */
#else
struct list_head s_files;
#endif
/* s_dentry_lru, s_nr_dentry_unused protected by dcache.c lru locks */
struct list_head s_dentry_lru; /* unused dentry lru */
int s_nr_dentry_unused; /* # of dentry on lru */
struct block_device *s_bdev; /* 指向块设备驱动程序描述符的指针 */
struct backing_dev_info *s_bdi;
struct mtd_info *s_mtd;
struct list_head s_instances; /* 用于给定文件系统类型的超级块对象链表的指针 */
struct quota_info s_dquot; /* 磁盘限额的描述符 */
int s_frozen;
wait_queue_head_t s_wait_unfrozen; /* 进程挂起的等待队列,直到文件系统被解冻 */
char s_id[32]; /* 包含超级块的块设备名称 */
u8 s_uuid[16]; /* UUID */
void *s_fs_info; /* 指向特定文件系统的超级块信息的指针 */
fmode_t s_mode;
/* Granularity of c/m/atime in ns.
Cannot be worse than a second */
u32 s_time_gran;
/*
* The next field is for VFS *only*. No filesystems have any business
* even looking at it. You had been warned.
*/
struct mutex s_vfs_rename_mutex; /* Kludge */
/*
* Filesystem subtype. If non-empty the filesystem type field
* in /proc/mounts will be "type.subtype"
*/
char *s_subtype;
/*
* Saved mount options for lazy filesystems using
* generic_show_options()
*/
char __rcu *s_options;
const struct dentry_operations *s_d_op; /* default d_op for dentries */
/*
* Saved pool identifier for cleancache (-1 means none)
*/
int cleancache_poolid;
};
df
最新推荐文章于 2024-09-18 11:31:13 发布