15. blk_devの中身
このあたり
// こいつでmd_openが呼ばれる
ret = disk->fops->open(bdev, mode);
..
if (bdev->bd_invalidated) {
if (!ret)
rescan_partitions(disk, bdev);
else if (ret == -ENOMEDIUM)
// この中で__invalidate_paritionが呼ばれる
invalidate_partitions(disk, bdev);
bd_invalidatedフラグが怪しい
15 / 20
16. 位置関係
md daemon monitor daemon
use space
kernel blk_dev
md driver
bd_invalidated md_open
disk driver invalidate_partition
hard disk clear page cache
16 / 20