diff options
author | NeilBrown <neilb@suse.de> | 2011-01-21 08:59:00 +1100 |
---|---|---|
committer | NeilBrown <neilb@suse.de> | 2011-03-10 17:07:53 +1100 |
commit | 5101e4681fd58566cddf500d48f9ee80067ece17 (patch) | |
tree | 68359c84f9cf643f4146aaf8333ac6d47f9288a4 | |
parent | 3275e05ec139728e23afde2a04f1adc5a4be473b (diff) | |
download | mdadm-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.c | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -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 */ |