md: don't return 0 from array_state_store

Returning zero from a 'store' function is bad.
The return value should be either len length of the string
or an error.

So use 'len' if 'err' is zero.

Fixes: 6791875e2e ("md: make reconfig_mutex optional for writes to md sysfs files.")
Signed-off-by: NeilBrown <neilb@suse.de>
Cc: stable@vger.kernel (v4.0+)
This commit is contained in:
NeilBrown 2015-06-12 19:46:44 +10:00
parent c65b99f046
commit c008f1d356

View File

@ -3834,7 +3834,7 @@ array_state_store(struct mddev *mddev, const char *buf, size_t len)
err = -EBUSY; err = -EBUSY;
} }
spin_unlock(&mddev->lock); spin_unlock(&mddev->lock);
return err; return err ?: len;
} }
err = mddev_lock(mddev); err = mddev_lock(mddev);
if (err) if (err)