summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.de>2009-08-18 02:35:26 +0200
committerNeilBrown <neilb@suse.de>2009-08-18 02:35:26 +0200
commit80ffb3cceaefa405f2ecd46d66500ed8d53efe74 (patch)
tree867d6ec951663255076ea42fab29a31eac4e51c0
parentmd: allow upper limit for resync/reshape to be set when array is read-only (diff)
downloadlinux-80ffb3cceaefa405f2ecd46d66500ed8d53efe74.tar.xz
linux-80ffb3cceaefa405f2ecd46d66500ed8d53efe74.zip
Fix new incorrect error return from do_md_stop.
Recent commit c8c00a6915a2e3d10416e8bdd3138429beb96210 changed the exit paths in do_md_stop and was not quite careful enough. There is one path were 'err' now needs to be cleared but it isn't. So setting an array to readonly (with mdadm --readonly) will work, but will incorrectly report and error: ENXIO. Signed-off-by: NeilBrown <neilb@suse.de>
-rw-r--r--drivers/md/md.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/md/md.c b/drivers/md/md.c
index 103f2d33fa89..9dd872000cec 100644
--- a/drivers/md/md.c
+++ b/drivers/md/md.c
@@ -4364,6 +4364,7 @@ static int do_md_stop(mddev_t * mddev, int mode, int is_open)
if (mode == 1)
set_disk_ro(disk, 1);
clear_bit(MD_RECOVERY_FROZEN, &mddev->recovery);
+ err = 0;
}
out:
mutex_unlock(&mddev->open_mutex);