From 50d5b03f9bc760542a3b7ccb7fdab3e71e34222c Mon Sep 17 00:00:00 2001 From: NeilBrown Date: Mon, 14 Dec 2009 12:50:06 +1100 Subject: [PATCH] --- yaml --- r: 176099 b: refs/heads/master c: 93be75ffde6dfd1ad17cc3ff1dbd135bd711baf4 h: refs/heads/master i: 176097: 79a614c09d9db9761e84633491c9dfdbb688a3aa 176095: d6087fd88fcff64bad295b507f74dc963e698783 v: v3 --- [refs] | 2 +- trunk/drivers/md/md.c | 13 ++++++------- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/[refs] b/[refs] index ce70eb6e574a..d222ac44c755 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: aa98aa31987ad9831711ae71ea2270228ab62532 +refs/heads/master: 93be75ffde6dfd1ad17cc3ff1dbd135bd711baf4 diff --git a/trunk/drivers/md/md.c b/trunk/drivers/md/md.c index 08564375d6b5..68a8a29a9012 100644 --- a/trunk/drivers/md/md.c +++ b/trunk/drivers/md/md.c @@ -1508,12 +1508,10 @@ static void super_1_sync(mddev_t *mddev, mdk_rdev_t *rdev) if (rdev->raid_disk >= 0 && !test_bit(In_sync, &rdev->flags)) { - if (rdev->recovery_offset > 0) { - sb->feature_map |= - cpu_to_le32(MD_FEATURE_RECOVERY_OFFSET); - sb->recovery_offset = - cpu_to_le64(rdev->recovery_offset); - } + sb->feature_map |= + cpu_to_le32(MD_FEATURE_RECOVERY_OFFSET); + sb->recovery_offset = + cpu_to_le64(rdev->recovery_offset); } if (mddev->reshape_position != MaxSector) { @@ -1547,7 +1545,7 @@ static void super_1_sync(mddev_t *mddev, mdk_rdev_t *rdev) sb->dev_roles[i] = cpu_to_le16(0xfffe); else if (test_bit(In_sync, &rdev2->flags)) sb->dev_roles[i] = cpu_to_le16(rdev2->raid_disk); - else if (rdev2->raid_disk >= 0 && rdev2->recovery_offset > 0) + else if (rdev2->raid_disk >= 0) sb->dev_roles[i] = cpu_to_le16(rdev2->raid_disk); else sb->dev_roles[i] = cpu_to_le16(0xffff); @@ -6786,6 +6784,7 @@ static int remove_and_add_spares(mddev_t *mddev) nm, mdname(mddev)); spares++; md_new_event(mddev); + set_bit(MD_CHANGE_DEVS, &mddev->flags); } else break; }