summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Radtke <jakub.radtke@intel.com>2021-01-15 00:46:54 -0500
committerJes Sorensen <jsorensen@fb.com>2021-03-09 17:17:39 -0500
commitb090e910756ea1165be5ac879746ab4bb83a2f91 (patch)
treeb50fb1db0288b4762d05977b6bf44150867596d8
parentdb5377883fef8655aac56b5d7ce5408f8ae494e0 (diff)
downloadmdadm-b090e910756ea1165be5ac879746ab4bb83a2f91.tar.gz
Modify mdstat parsing for volumes with the bitmap
Current mdstat read functionality is not working correctly for the volumes with the write-intent bitmap. It affects rebuild and reshape use cases. Signed-off-by: Jakub Radtke <jakub.radtke@intel.com> Signed-off-by: Jes Sorensen <jsorensen@fb.com>
-rw-r--r--mdstat.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/mdstat.c b/mdstat.c
index dd96cca..2fd792c 100644
--- a/mdstat.c
+++ b/mdstat.c
@@ -191,6 +191,12 @@ struct mdstat_ent *mdstat_read(int hold, int start)
else if (strcmp(w, "inactive") == 0) {
ent->active = 0;
in_devs = 1;
+ } else if (strcmp(w, "bitmap:") == 0) {
+ /* We need to stop parsing here;
+ * otherwise, ent->raid_disks will be
+ * overwritten by the wrong value.
+ */
+ break;
} else if (ent->active > 0 &&
ent->level == NULL &&
w[0] != '(' /*readonly*/) {