From c63e43042be478b86d2551c40e54d36dacebf157 Mon Sep 17 00:00:00 2001 From: NeilBrown Date: Thu, 13 Aug 2009 10:41:49 +1000 Subject: [PATCH] --- yaml --- r: 156695 b: refs/heads/master c: 1a67dde0abba36421a1257d01ba9de2f6d1c160a h: refs/heads/master i: 156693: 5dfb5d658ac3b3137ef59bf7f950893d4172f4cb 156691: 55f672945024eaa920ac961c0f3ff068b643462e 156687: 8a46c8aa33e062addbdd9a242026442fcb10d95d v: v3 --- [refs] | 2 +- trunk/drivers/md/raid5.c | 11 +++++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 8bb9b44023de..80f7644f87a3 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: a639755cf885e437b2fe4168d35157fa90d530ab +refs/heads/master: 1a67dde0abba36421a1257d01ba9de2f6d1c160a diff --git a/trunk/drivers/md/raid5.c b/trunk/drivers/md/raid5.c index 94a74cb5cccb..b8a2c5dc67ba 100644 --- a/trunk/drivers/md/raid5.c +++ b/trunk/drivers/md/raid5.c @@ -5097,8 +5097,15 @@ static void raid5_finish_reshape(mddev_t *mddev) mddev->degraded--; for (d = conf->raid_disks ; d < conf->raid_disks - mddev->delta_disks; - d++) - raid5_remove_disk(mddev, d); + d++) { + mdk_rdev_t *rdev = conf->disks[d].rdev; + if (rdev && raid5_remove_disk(mddev, d) == 0) { + char nm[20]; + sprintf(nm, "rd%d", rdev->raid_disk); + sysfs_remove_link(&mddev->kobj, nm); + rdev->raid_disk = -1; + } + } } mddev->layout = conf->algorithm; mddev->chunk_sectors = conf->chunk_sectors;