Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux
[deliverable/linux.git] / drivers / md / multipath.c
index 7331a80d89f1987a42d22a2ae7510210519e6bae..0a72ab6e6c204a6a1a56d7dff922753bb6294c76 100644 (file)
@@ -257,6 +257,9 @@ static int multipath_add_disk(struct mddev *mddev, struct md_rdev *rdev)
                        disk_stack_limits(mddev->gendisk, rdev->bdev,
                                          rdev->data_offset << 9);
 
+                       err = md_integrity_add_rdev(rdev, mddev);
+                       if (err)
+                               break;
                        spin_lock_irq(&conf->device_lock);
                        mddev->degraded--;
                        rdev->raid_disk = path;
@@ -264,9 +267,6 @@ static int multipath_add_disk(struct mddev *mddev, struct md_rdev *rdev)
                        spin_unlock_irq(&conf->device_lock);
                        rcu_assign_pointer(p->rdev, rdev);
                        err = 0;
-                       mddev_suspend(mddev);
-                       md_integrity_add_rdev(rdev, mddev);
-                       mddev_resume(mddev);
                        break;
                }
 
This page took 0.045009 seconds and 5 git commands to generate.