summaryrefslogtreecommitdiffstats
path: root/drivers/md/raid5.c
diff options
context:
space:
mode:
authorNamhyung Kim <namhyung@gmail.com>2011-07-26 21:00:36 -0400
committerNeilBrown <neilb@suse.de>2011-07-26 21:00:36 -0400
commit36fad858a7404a9656122a9e560a224ae2a00979 (patch)
tree95f8a7a6b8dad6bb8d7c7735f7845888b5e702db /drivers/md/raid5.c
parent8bda470e8ebde35f9349e98ecbce4dfb508a60fa (diff)
md: introduce link/unlink_rdev() helpers
There are places where sysfs links to rdev are handled in a same way. Add the helper functions to consolidate them. Signed-off-by: Namhyung Kim <namhyung@gmail.com> Signed-off-by: NeilBrown <neilb@suse.de>
Diffstat (limited to 'drivers/md/raid5.c')
-rw-r--r--drivers/md/raid5.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c
index 467e8e1cd3d2..0cd591472e1f 100644
--- a/drivers/md/raid5.c
+++ b/drivers/md/raid5.c
@@ -5152,16 +5152,14 @@ static int raid5_start_reshape(mddev_t *mddev)
5152 if (rdev->raid_disk < 0 && 5152 if (rdev->raid_disk < 0 &&
5153 !test_bit(Faulty, &rdev->flags)) { 5153 !test_bit(Faulty, &rdev->flags)) {
5154 if (raid5_add_disk(mddev, rdev) == 0) { 5154 if (raid5_add_disk(mddev, rdev) == 0) {
5155 char nm[20];
5156 if (rdev->raid_disk 5155 if (rdev->raid_disk
5157 >= conf->previous_raid_disks) { 5156 >= conf->previous_raid_disks) {
5158 set_bit(In_sync, &rdev->flags); 5157 set_bit(In_sync, &rdev->flags);
5159 added_devices++; 5158 added_devices++;
5160 } else 5159 } else
5161 rdev->recovery_offset = 0; 5160 rdev->recovery_offset = 0;
5162 sprintf(nm, "rd%d", rdev->raid_disk); 5161
5163 if (sysfs_create_link(&mddev->kobj, 5162 if (sysfs_link_rdev(mddev, rdev))
5164 &rdev->kobj, nm))
5165 /* Failure here is OK */; 5163 /* Failure here is OK */;
5166 } 5164 }
5167 } else if (rdev->raid_disk >= conf->previous_raid_disks 5165 } else if (rdev->raid_disk >= conf->previous_raid_disks
@@ -5257,9 +5255,7 @@ static void raid5_finish_reshape(mddev_t *mddev)
5257 d++) { 5255 d++) {
5258 mdk_rdev_t *rdev = conf->disks[d].rdev; 5256 mdk_rdev_t *rdev = conf->disks[d].rdev;
5259 if (rdev && raid5_remove_disk(mddev, d) == 0) { 5257 if (rdev && raid5_remove_disk(mddev, d) == 0) {
5260 char nm[20]; 5258 sysfs_unlink_rdev(mddev, rdev);
5261 sprintf(nm, "rd%d", rdev->raid_disk);
5262 sysfs_remove_link(&mddev->kobj, nm);
5263 rdev->raid_disk = -1; 5259 rdev->raid_disk = -1;
5264 } 5260 }
5265 } 5261 }