| From c008f1d356277a5b7561040596a073d87e56b0c8 Mon Sep 17 00:00:00 2001 |
| From: NeilBrown <neilb@suse.de> |
| Date: Fri, 12 Jun 2015 19:46:44 +1000 |
| Subject: md: don't return 0 from array_state_store |
| |
| From: NeilBrown <neilb@suse.de> |
| |
| commit c008f1d356277a5b7561040596a073d87e56b0c8 upstream. |
| |
| 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: 6791875e2e53 ("md: make reconfig_mutex optional for writes to md sysfs files.") |
| Signed-off-by: NeilBrown <neilb@suse.de> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/md/md.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/drivers/md/md.c |
| +++ b/drivers/md/md.c |
| @@ -3765,7 +3765,7 @@ array_state_store(struct mddev *mddev, c |
| err = -EBUSY; |
| } |
| spin_unlock(&mddev->lock); |
| - return err; |
| + return err ?: len; |
| } |
| err = mddev_lock(mddev); |
| if (err) |