超级块 superblock

来源:互联网 发布:文件删除数据恢复 编辑:程序博客网 时间:2024/05/12 19:17

struct super_block {
 unsigned short s_ninodes;              //i 节点数
 unsigned short s_nzones;                //逻辑块数
 unsigned short s_imap_blocks;     //i节点位图占用的块数
 unsigned short s_zmap_blocks;    //逻辑块位图占用的块数
 unsigned short s_firstdatazone;     //第一个数据块号
 unsigned short s_log_zone_size;  //Log2(磁盘块数/逻辑块)
 unsigned long s_max_size;            //最大文件长度
 unsigned short s_magic;                //Magic number
/* These are only in memory */
 struct buffer_head * s_imap[8];     //i节点位图
 struct buffer_head * s_zmap[8];    //逻辑块位图
 unsigned short s_dev;                    //设备号  
 struct m_inode * s_isup;               //根目录i节点
 struct m_inode * s_imount;          //被文件系统Mount到的i节点
 unsigned long s_time;                  //修改时间
 struct task_struct * s_wait;           //Wait此超级块的进程
 unsigned char s_lock;                   //Lock标志
 unsigned char s_rd_only;             //只读标志
 unsigned char s_dirt;                     //Dirty标志
};

相关函数:

extern inline struct super_block * get_super(int dev);

返回dev号对应的super_block
 

void mount_root(void);

将superblock信息读到内存中;

将ROOT_DEV i节点信息读到内存中

 

原创粉丝点击