diff options
author | Jun'ichi Nomura <j-nomura@ce.jp.nec.com> | 2006-03-27 04:17:58 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-03-27 11:45:00 -0500 |
commit | 5463c7904c952aa6b6804dd902c72a5332fa5221 (patch) | |
tree | b2894d58ad0d99959bf246722e33a64960125f57 /drivers | |
parent | 641dc636b0475582e48584340b774bd1e90d40d9 (diff) |
[PATCH] dm/md dependency tree in sysfs: md to use bd_claim_by_disk
Use bd_claim_by_disk.
Following symlinks are created if md0 is built from sda and sdb
/sys/block/md0/slaves/sda --> /sys/block/sda
/sys/block/md0/slaves/sdb --> /sys/block/sdb
/sys/block/sda/holders/md0 --> /sys/block/md0
/sys/block/sdb/holders/md0 --> /sys/block/md0
Signed-off-by: Jun'ichi Nomura <j-nomura@ce.jp.nec.com>
Cc: Alasdair G Kergon <agk@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/md/md.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/md/md.c b/drivers/md/md.c index 5ed2228745cb..bde3e9682250 100644 --- a/drivers/md/md.c +++ b/drivers/md/md.c | |||
@@ -1301,6 +1301,7 @@ static int bind_rdev_to_array(mdk_rdev_t * rdev, mddev_t * mddev) | |||
1301 | else | 1301 | else |
1302 | ko = &rdev->bdev->bd_disk->kobj; | 1302 | ko = &rdev->bdev->bd_disk->kobj; |
1303 | sysfs_create_link(&rdev->kobj, ko, "block"); | 1303 | sysfs_create_link(&rdev->kobj, ko, "block"); |
1304 | bd_claim_by_disk(rdev->bdev, rdev, mddev->gendisk); | ||
1304 | return 0; | 1305 | return 0; |
1305 | } | 1306 | } |
1306 | 1307 | ||
@@ -1311,6 +1312,7 @@ static void unbind_rdev_from_array(mdk_rdev_t * rdev) | |||
1311 | MD_BUG(); | 1312 | MD_BUG(); |
1312 | return; | 1313 | return; |
1313 | } | 1314 | } |
1315 | bd_release_from_disk(rdev->bdev, rdev->mddev->gendisk); | ||
1314 | list_del_init(&rdev->same_set); | 1316 | list_del_init(&rdev->same_set); |
1315 | printk(KERN_INFO "md: unbind<%s>\n", bdevname(rdev->bdev,b)); | 1317 | printk(KERN_INFO "md: unbind<%s>\n", bdevname(rdev->bdev,b)); |
1316 | rdev->mddev = NULL; | 1318 | rdev->mddev = NULL; |