]> git.ipfire.org Git - thirdparty/mdadm.git/commitdiff
Ignore error when setting sync_min
authorNeilBrown <neilb@suse.de>
Sun, 16 Jan 2011 22:51:33 +0000 (09:51 +1100)
committerNeilBrown <neilb@suse.de>
Sun, 16 Jan 2011 22:51:33 +0000 (09:51 +1100)
When restarting an array that is in the middle of a reshape,
sync_min cannot be set.  So just ignore any errors we get
when trying to set it.

Signed-off-by: NeilBrown <neilb@suse.de>
Grow.c

diff --git a/Grow.c b/Grow.c
index 488e7cf345fa5e109bce108d3ad62c4356125581..755d3d7c7885a66db8de9fa768d5fade5e7d46c4 100644 (file)
--- a/Grow.c
+++ b/Grow.c
@@ -633,7 +633,10 @@ int start_reshape(struct mdinfo *sra)
        sysfs_set_num(sra, NULL, "suspend_lo", 0x7FFFFFFFFFFFFFFFULL);
        err = sysfs_set_num(sra, NULL, "suspend_hi", 0);
        err = err ?: sysfs_set_num(sra, NULL, "suspend_lo", 0);
-       err = err ?: sysfs_set_num(sra, NULL, "sync_min", 0);
+       /* Setting sync_min can fail if the recovery is already 'running',
+        * which can happen when restarting an array which is reshaping.
+        * So don't worry about errors here */
+       sysfs_set_num(sra, NULL, "sync_min", 0);
        err = err ?: sysfs_set_num(sra, NULL, "sync_max", 0);
        err = err ?: sysfs_set_str(sra, NULL, "sync_action", "reshape");