文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>RAID1代码走读(1)-启动

RAID1代码走读(1)-启动

时间:2009-08-14  来源:qincp-

下面几篇文章是对2.6.21的RAID1代码进行走读和分析的记录。

 

Run函数在MD设备启动时调用,完成如下工作:

1. 申请raid1私有数据区conf。私有数据区中还申请了一个mempool,为磁阵读写缓存使用。

2. 初始化私有数据区,包括:

a)       使用MD信息对磁阵中的磁盘rdev赋值

b)       关联MD和raid1私有数据区

c)       私有数据区的锁和队列的初始化

3. 检查磁阵中磁盘状态,如果有磁盘不存在或者磁盘和磁阵中其他磁盘不处于一致状态(In_syn),则设置磁阵需要全部同步,处于降级状态。如果全部磁盘都不正常,则启动失败。如果仅一个盘可以正常工作,则设置标志禁止同步操作。

4. 找到第一个可用的磁盘,作为读均衡算法的起点。因为RAID1是多个磁盘组成镜像,每个磁盘的内容是一样的,为提高读效率(以及提高磁盘使用寿命?),可以将读操作分配在不同的磁盘上,读均衡算法进行这个分配。而设置了WriteMost的磁盘是不参与读均衡算法的。

5. 初始化MD结构中的一些信息,包括:

a)       注册守护进程RAID1

b)       注册unplug回调

c)       注册拥塞处理函数

相关阅读 更多 +
排行榜 更多 +
超级摩托车特技3D

超级摩托车特技3D

赛车竞速 下载
超级汽车大乱斗

超级汽车大乱斗

赛车竞速 下载
沙漠越野车

沙漠越野车

赛车竞速 下载