]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/md/raid1.c
md: change hot_remove_disk to take an rdev rather than a number.
[karo-tx-linux.git] / drivers / md / raid1.c
index ede2461e79c51e8d3bd1ac04fcac4c7a974bbbbe..4317f8de143a64e0a4302cc6ab5c992dc9617f85 100644 (file)
@@ -1327,16 +1327,15 @@ static int raid1_add_disk(struct mddev *mddev, struct md_rdev *rdev)
        return err;
 }
 
-static int raid1_remove_disk(struct mddev *mddev, int number)
+static int raid1_remove_disk(struct mddev *mddev, struct md_rdev *rdev)
 {
        struct r1conf *conf = mddev->private;
        int err = 0;
-       struct md_rdev *rdev;
+       int number = rdev->raid_disk;
        struct mirror_info *p = conf->mirrors+ number;
 
        print_conf(conf);
-       rdev = p->rdev;
-       if (rdev) {
+       if (rdev == p->rdev) {
                if (test_bit(In_sync, &rdev->flags) ||
                    atomic_read(&rdev->nr_pending)) {
                        err = -EBUSY;