]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/md/multipath.c
Support adding a spare to a live md array with external metadata.
[linux-2.6-omap-h63xx.git] / drivers / md / multipath.c
index e968116e0de9699d2bef0f114ae79f638506bf1c..4a1d714c048ef24ff8bff29decbb3e4052970d19 100644 (file)
@@ -284,10 +284,15 @@ static int multipath_add_disk(mddev_t *mddev, mdk_rdev_t *rdev)
        int found = 0;
        int path;
        struct multipath_info *p;
+       int first = 0;
+       int last = mddev->raid_disks - 1;
+
+       if (rdev->raid_disk >= 0)
+               first = last = rdev->raid_disk;
 
        print_multipath_conf(conf);
 
-       for (path=0; path<mddev->raid_disks; path++) 
+       for (path = first; path <= last; path++)
                if ((p=conf->multipaths+path)->rdev == NULL) {
                        q = rdev->bdev->bd_disk->queue;
                        blk_queue_stack_limits(mddev->queue, q);