diff options
author | Jes Sorensen <jsorensen@fb.com> | 2017-05-09 16:52:44 -0400 |
---|---|---|
committer | Jes Sorensen <jsorensen@fb.com> | 2017-05-09 16:52:44 -0400 |
commit | 48bc2ade86db576036375184774a3ebadf6a22e3 (patch) | |
tree | 51cbbf52b714b27a4f2f61cccd2256f35907d953 /Monitor.c | |
parent | aed5f5c34c2b248876b874898d0b3bf65b6cca53 (diff) | |
download | mdadm-48bc2ade86db576036375184774a3ebadf6a22e3.tar.gz |
Monitor/check_array: Obtain RAID level from syfs
Signed-off-by: Jes Sorensen <jsorensen@fb.com>
Diffstat (limited to 'Monitor.c')
-rw-r--r-- | Monitor.c | 6 |
1 files changed, 3 insertions, 3 deletions
@@ -481,14 +481,14 @@ static int check_array(struct state *st, struct mdstat_ent *mdstat, if (st->devnm[0] == 0) strcpy(st->devnm, fd2devnm(fd)); - sra = sysfs_read(-1, st->devnm, GET_MISMATCH); + sra = sysfs_read(-1, st->devnm, GET_LEVEL | GET_MISMATCH); if (!sra) goto disappeared; /* It's much easier to list what array levels can't * have a device disappear than all of them that can */ - if (array.level == 0 || array.level == -1) { + if (sra->array.level == 0 || sra->array.level == -1) { if (!st->err && !st->from_config) alert("DeviceDisappeared", dev, " Wrong-Level", ainfo); st->err++; @@ -566,7 +566,7 @@ static int check_array(struct state *st, struct mdstat_ent *mdstat, char cnt[80]; snprintf(cnt, sizeof(cnt), " mismatches found: %d (on raid level %d)", - sra->mismatch_cnt, array.level); + sra->mismatch_cnt, sra->array.level); alert("RebuildFinished", dev, cnt, ainfo); } else alert("RebuildFinished", dev, NULL, ainfo); |