From: NeilBrown Date: Mon, 13 Oct 2008 00:55:12 +0000 (+1100) Subject: md: Don't try to set an array to 'read-auto' if it is already in that state. X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=80268ee9270ebe4847365a7426de91d179e870d0;p=linux-beck.git md: Don't try to set an array to 'read-auto' if it is already in that state. 'read-auto' is a variant of 'readonly' which will switch to writable on the first write attempt. Calling do_md_stop to set the array readonly when it is already readonly returns an error. So make sure not to do that. Signed-off-by: NeilBrown --- diff --git a/drivers/md/md.c b/drivers/md/md.c index 13dd7b276150..fc33082d5ffd 100644 --- a/drivers/md/md.c +++ b/drivers/md/md.c @@ -2725,9 +2725,9 @@ array_state_store(mddev_t *mddev, const char *buf, size_t len) break; case read_auto: if (mddev->pers) { - if (mddev->ro != 1) + if (mddev->ro == 0) err = do_md_stop(mddev, 1, 0); - else + else if (mddev->ro == 1) err = restart_array(mddev); if (err == 0) { mddev->ro = 2;