Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a9720903 authored by Guoqing Jiang's avatar Guoqing Jiang Committed by Goldwyn Rodrigues
Browse files

md-cluster: only call kick_rdev_from_array after remove disk successfully



For cluster raid, we should not kick it from array if the disk can't be
remove from array successfully.

Signed-off-by: default avatarGuoqing Jiang <gqjiang@suse.com>
Signed-off-by: default avatarGoldwyn Rodrigues <rgoldwyn@suse.com>
parent 86b57277
Loading
Loading
Loading
Loading
+9 −6
Original line number Diff line number Diff line
@@ -2548,13 +2548,16 @@ state_store(struct md_rdev *rdev, const char *buf, size_t len)
			err = -EBUSY;
		else {
			struct mddev *mddev = rdev->mddev;
			err = 0;
			if (mddev_is_clustered(mddev))
				md_cluster_ops->remove_disk(mddev, rdev);
				err = md_cluster_ops->remove_disk(mddev, rdev);

			if (err == 0) {
				md_kick_rdev_from_array(rdev);
				if (mddev->pers)
					md_update_sb(mddev, 1);
				md_new_event(mddev);
			err = 0;
			}
		}
	} else if (cmd_match(buf, "writemostly")) {
		set_bit(WriteMostly, &rdev->flags);