首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

linux内核奇遇记之md源代码解读之4

2013-10-10 
linux内核奇遇记之md源代码解读之四linux内核奇遇记之md源代码解读之四转载请注明出处:http://blog.csdn.n

linux内核奇遇记之md源代码解读之四
linux内核奇遇记之md源代码解读之四转载请注明出处:http://blog.csdn.net/liumangxiong
运行阵列意味着阵列经历从无到有,建立了作为一个raid应有的属性(如同步重建),并为随后的读写做好的铺垫。那么运行阵列的时候到底做了哪些事情,让原来的磁盘像变形金刚一样组成一个新的巨无霸。现在就来看阵列运行处理流程:

5158 static int do_md_run(struct mddev *mddev)5159 {5160         int err;5161 5162         err = md_run(mddev);5163         if (err)5164                 goto out;5165         err = bitmap_load(mddev);5166         if (err) {5167                 bitmap_destroy(mddev);5168                 goto out;5169         }5170 5171         md_wakeup_thread(mddev->thread);5172         md_wakeup_thread(mddev->sync_thread); /* possibly kick off a reshape */5173 5174         set_capacity(mddev->gendisk, mddev->array_sectors);5175         revalidate_disk(mddev->gendisk);5176         mddev->changed = 1;5177         kobject_uevent(&disk_to_dev(mddev->gendisk)->kobj, KOBJ_CHANGE);5178 out:5179         return err;5180 }
5165行,加载bitmap,同样留到bitmap章节再详解。5171行,唤醒阵列主线程。5172行,唤醒阵列同步线程。5174行,设置虚拟gendisk磁盘大小。5175行,运行磁盘,让磁盘为系统可见。5176行,设置md改变标志。5177行,上报磁盘信息到udev。do_md_run完成,RUN_ARRAY命令也就执行完成了。小结一下,do_md_run函数的作用就是向上虚拟一个块设备,向下包装磁盘,建立读写请求的通道,将对md设备的请求能够转发到磁盘上去。下一小节就介绍raidd5阵列的运行。转载请注明出处:http://blog.csdn.net/liumangxiong

热点排行