: Linux

superblock

. , . (superblock) (control block) , ( ). , (, , sysfs), " " .

struct super_block, <linux/fs.h>. ( ).

struct super_block {
struct list_head s_list; /* */
dev_t s_dev; /* */
unsigned long s_blocksize; /* */
unsigned long s_old_blocksize; /*
*/
unsigned char s_blocksize_bits; /* */
unsigned char s_dirt; /* ,
*/
unsigned long long s_maxbytes;/* */
struct file_system_type *s_type; /* */
struct super_operations *s_op; /* */
struct dquot_operations *dq_op; /* */
struct quotactl_ops *s_qcop;/* */
struct export_operations *s_export_op; /* */
unsigned long s_flags; /* */
unsigned long s_magic;/* */
struct dentry *s_root;/* , */
struct rw_semaphores_umount; /* */
struct semaphore s_lock; /* */
int s_count;/* */
int s_syncing; /*
*/
int s_need_sync_fs;/* ,
*/
atomic_ts_active; /* */
void *s_security; /* */
struct list_head s_dirty;/* */
struct list_head s_io; /* */
struct hlist_head s_anon; /*
*/
struct list_head s_files; /* */
struct block_device *s_bdev; /*
*/
struct list_head s_instances; /*
*/
struct quota_info s_dquot; /* */
char s_id[32]; /* */
void *s_fs_info; /*
*/
struct semaphore s_vfs_rename_sem; /* */
};

, fs/super.c. alloc_super(). , .

/

: 1.171. /Cache: 3 / 0