md: fix bug in raid10 recovery.
authorNeilBrown <neilb@suse.de>
Thu, 6 Nov 2008 06:28:20 +0000 (17:28 +1100)
committerNeilBrown <neilb@suse.de>
Thu, 6 Nov 2008 06:28:20 +0000 (17:28 +1100)
Adding a spare to a raid10 doesn't cause recovery to start.
This is due to an silly type in
  commit 6c2fce2ef6b4821c21b5c42c7207cb9cf8c87eda
and so is a bug in 2.6.27 and .28-rc.

Thanks to Thomas Backlund for bisecting to find this.

Cc: Thomas Backlund <tmb@mandriva.org>
Cc: stable@kernel.org
Signed-off-by: NeilBrown <neilb@suse.de>
drivers/md/raid10.c

index da5129a24b18142d39595c86415bdef40612e353..970a96ef9b1841badb7b43657d46263e67a9e722 100644 (file)
@@ -1137,7 +1137,7 @@ static int raid10_add_disk(mddev_t *mddev, mdk_rdev_t *rdev)
        if (!enough(conf))
                return -EINVAL;
 
-       if (rdev->raid_disk)
+       if (rdev->raid_disk >= 0)
                first = last = rdev->raid_disk;
 
        if (rdev->saved_raid_disk >= 0 &&