diff options
author | Jeff DeFouw <jeffd@i2k.com> | 2010-06-29 16:42:48 +1000 |
---|---|---|
committer | NeilBrown <neilb@suse.de> | 2010-06-29 16:42:48 +1000 |
commit | b6d7a7fbaa94b5e1d6e17742526282bce7259162 (patch) | |
tree | dcb00e06407ff81d51d5e0359c627656b3b52668 | |
parent | ccaeea03a9c0ae5737a95c4bc7252bddeddbb132 (diff) | |
download | mdadm-b6d7a7fbaa94b5e1d6e17742526282bce7259162.tar.gz mdadm-b6d7a7fbaa94b5e1d6e17742526282bce7259162.tar.xz mdadm-b6d7a7fbaa94b5e1d6e17742526282bce7259162.zip |
Fix parsing of inactive arrays in /proc/mdstat
They don't have a level, so we should not expect one, and should
expect devices instead.
Signed-off-by: NeilBrown <neilb@suse.de>
-rw-r--r-- | mdstat.c | 5 |
1 files changed, 3 insertions, 2 deletions
@@ -168,9 +168,10 @@ struct mdstat_ent *mdstat_read(int hold, int start) char *eq; if (strcmp(w, "active")==0) ent->active = 1; - else if (strcmp(w, "inactive")==0) + else if (strcmp(w, "inactive")==0) { ent->active = 0; - else if (ent->active >=0 && + in_devs = 1; + } else if (ent->active > 0 && ent->level == NULL && w[0] != '(' /*readonly*/) { ent->level = strdup(w); |