X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=managemon.c;h=5f7e2cede00add2f55b2e3e842c62b71d2ea18a1;hb=2ecda5a3fa0382c615aebe11111c671357137378;hp=21bf2bd555083029301f01a3346db4f3b5985604;hpb=0c5d6054e499369cb6be74d9867743b2af8e4c05;p=thirdparty%2Fmdadm.git diff --git a/managemon.c b/managemon.c index 21bf2bd5..5f7e2ced 100644 --- a/managemon.c +++ b/managemon.c @@ -289,7 +289,7 @@ static void add_disk_to_container(struct supertype *st, struct mdinfo *sd) */ st2 = dup_super(st); if (st2->ss->load_super(st2, dfd, NULL) == 0) { - st2->ss->getinfo_super(st, &info, NULL); + st2->ss->getinfo_super(st2, &info, NULL); if (st->ss->compare_super(st, st2) == 0 && info.disk.raid_disk >= 0) { /* Looks like a good member of array. @@ -450,9 +450,11 @@ static void manage_member(struct mdstat_ent *mdstat, /* Raced with something */ return; - // FIXME - a->info.array.raid_disks = mdstat->raid_disks; - // MORE + if (mdstat->active) { + // FIXME + 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; @@ -492,7 +494,7 @@ static void manage_member(struct mdstat_ent *mdstat, if (a->container == NULL) return; - if (sigterm && a->info.safe_mode_delay > 1) { + if (sigterm && a->info.safe_mode_delay != 1) { sysfs_set_safemode(&a->info, 1); a->info.safe_mode_delay = 1; } @@ -695,7 +697,7 @@ static void manage_new(struct mdstat_ent *mdstat, new->resync_start_fd = sysfs_open(new->info.sys_name, NULL, "resync_start"); new->metadata_fd = sysfs_open(new->info.sys_name, NULL, "metadata_version"); new->sync_completed_fd = sysfs_open(new->info.sys_name, NULL, "sync_completed"); - dprintf("%s: inst: %d action: %d state: %d\n", __func__, atoi(inst), + dprintf("%s: inst: %s action: %d state: %d\n", __func__, inst, new->action_fd, new->info.state_fd); if (sigterm)