From: NeilBrown Date: Tue, 18 Aug 2009 00:35:26 +0000 (+1000) Subject: Fix new incorrect error return from do_md_stop. X-Git-Tag: firefly_0821_release~13150^2 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=80ffb3cceaefa405f2ecd46d66500ed8d53efe74;p=firefly-linux-kernel-4.4.55.git 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 --- 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);