summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.de>2011-01-21 08:59:00 +1100
committerNeilBrown <neilb@suse.de>2011-03-10 17:07:53 +1100
commit5101e4681fd58566cddf500d48f9ee80067ece17 (patch)
tree68359c84f9cf643f4146aaf8333ac6d47f9288a4
parent3275e05ec139728e23afde2a04f1adc5a4be473b (diff)
downloadmdadm-5101e4681fd58566cddf500d48f9ee80067ece17.tar.gz
error check reading of 'degraded' from sysfs.
I'm seen mdadm spinning while failing to read 'degraded'. This doesn't really fix it, but is a reminder that it needs to be fixed. Signed-off-by: NeilBrown <neilb@suse.de>
-rw-r--r--Grow.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/Grow.c b/Grow.c
index 7db54de..bcd77ac 100644
--- a/Grow.c
+++ b/Grow.c
@@ -1293,7 +1293,8 @@ int grow_backup(struct mdinfo *sra,
odata--;
sysfs_set_num(sra, NULL, "suspend_hi", (offset + stripes * (chunk/512)) * odata);
/* Check that array hasn't become degraded, else we might backup the wrong data */
- sysfs_get_ll(sra, NULL, "degraded", &ll);
+ if (sysfs_get_ll(sra, NULL, "degraded", &ll) < 0)
+ return -1; /* FIXME this error is ignored */
new_degraded = (int)ll;
if (new_degraded != *degraded) {
/* check each device to ensure it is still working */