diff --git a/managemon.c b/managemon.c index d155b04..2c55b3c 100644 --- a/managemon.c +++ b/managemon.c @@ -444,6 +444,7 @@ static void manage_member(struct mdstat_ent *mdstat, char buf[64]; int frozen; struct supertype *container = a->container; + unsigned long long int component_size = 0; if (container == NULL) /* Raced with something */ @@ -453,6 +454,9 @@ static void manage_member(struct mdstat_ent *mdstat, a->info.array.raid_disks = mdstat->raid_disks; // MORE + if (sysfs_get_ll(&a->info, NULL, "component_size", &component_size) >= 0) + a->info.component_size = component_size << 1; + /* honor 'frozen' */ if (sysfs_get_str(&a->info, NULL, "metadata_version", buf, sizeof(buf)) > 0) frozen = buf[9] == '-';