⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 md_p.h.txt

📁 这是一个牛人的linux学习内核时分析内核的笔记
💻 TXT
字号:
any questions,send email to netxiong@263.net

相关文件
	/drivers/md/md.c

这个头文件主要提供RAID系统中的底层信息,包括超级块等数据


#define MD_SB_DISKS	27	//最多27个磁盘


#define MD_DISK_FAULTY          0 /* 磁盘出错,operational设置位 */
#define MD_DISK_ACTIVE          1 /* disk is running or spare disk */
#define MD_DISK_SYNC            2 /* disk is in sync with the raid set */
#define MD_DISK_REMOVED         3 /* disk is in sync with the raid set */
一般磁盘如果不出错,都应该是MD_DISK_ACTIVE和MD_DISK_SYNC的组合


(1)typedef struct mdp_device_descriptor_s {
        __u32 number;           /* 0 在磁盘阵列中的设备号*/
        __u32 major;            /* 1 Device major number*/
        __u32 minor;            /* 2 Device minor number*/
        __u32 raid_disk;        /* 3 该磁盘在阵列中的号码 */
        __u32 state;            /* 4 Operational state*/
        __u32 reserved[MD_SB_DESCRIPTOR_WORDS - 5];
    } mdp_disk_t;


**********************超级块*********************************
单位是字节
0  -    31   不变得RAID系统的参数
32  -    63   通用状态信息
64  -   127   Personality specific information.
128  -   511   UUID标识符
512  -   911   保留
912  -  1023   Disk specific descriptor.

(2)typedef struct mdp_superblock_s {	//RAID系统的超级块
	
	__u32 raid_disks;		//磁盘阵列中总的磁盘数目
	mdp_disk_t disks[MD_SB_DISKS];	//磁盘信息
    } mdp_super_t;
**************************************************************


这个头文件中定义的数据结构主要是针对磁盘的,从磁盘中读取得超级块包含RAID系统的通用信息和每一个磁盘的数据结构,所有的磁盘信息都存储在disks中,也就是使用mdp_disk_t结构来存储,其中这个结构中的number和raid_disk一般来说意义时一样的,他们的值也是一样的。



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -