ul_super.h
来自「类似Linux操作系统0.11版文件系统的文件系统设计和Windows下的操作程」· C头文件 代码 · 共 49 行
H
49 行
/*
* UNIX Like (UL)文件系统 spuer block 处理模块
*/
#pragma once
// 磁盘上超级块结构
struct d_super_block
{
unsigned short s_ninodes; // 节点数
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; // log(数据块数/逻辑块)(以2 为底)
unsigned long s_max_size; // 文件最大长度
unsigned short s_magic; // 文件系统魔数
};
// 内存中磁盘超级块结构
struct super_block
{
unsigned short s_ninodes; // 节点数
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; // log(数据块数/逻辑块)(以2 为底)
unsigned long s_max_size; // 文件最大长度
unsigned short s_magic; // 文件系统魔数
/* These are only in memory */
struct buffer_head *s_imap[8]; // i 节点位图缓冲块指针数组(占用8 块,可表示64M)
struct buffer_head *s_zmap[8]; // 逻辑块位图缓冲块指针数组(占用8 块)
unsigned short s_dev; // 超级块所在的设备号
struct m_inode *s_isup; // 被安装的文件系统根目录的i 节点(isup-super i)
struct m_inode *s_imount; // 被安装到的i 节点
unsigned long s_time; // 修改时间
struct task_struct *s_wait; // 等待该超级块的进程
unsigned char s_lock; // 被锁定标志
unsigned char s_rd_only; // 只读标志
unsigned char s_dirt; // 已修改(脏)标志
};
extern struct super_block *get_super (int dev);
extern int sys_sync(void);
extern int mount_root (void);
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?