]> git.ipfire.org Git - thirdparty/mdadm.git/blobdiff - managemon.c
imsm: add support for checkpointing via 'curr_migr_unit'
[thirdparty/mdadm.git] / managemon.c
index 19effe44d5920fc19abdaa003f14dda2add06efd..e3350778b9fcb0381b052588c8afac62221492fe 100644 (file)
@@ -112,8 +112,10 @@ static void close_aa(struct active_array *aa)
 {
        struct mdinfo *d;
 
-       for (d = aa->info.devs; d; d = d->next)
+       for (d = aa->info.devs; d; d = d->next) {
+               close(d->recovery_fd);
                close(d->state_fd);
+       }
 
        close(aa->action_fd);
        close(aa->info.state_fd);
@@ -517,6 +519,9 @@ static void manage_new(struct mdstat_ent *mdstat,
                        newd->state_fd = sysfs_open(new->devnum,
                                                    newd->sys_name,
                                                    "state");
+                       newd->recovery_fd = sysfs_open(new->devnum,
+                                                     newd->sys_name,
+                                                     "recovery_start");
 
                        newd->prev_state = read_dev_state(newd->state_fd);
                        newd->curr_state = newd->prev_state;
@@ -541,7 +546,6 @@ static void manage_new(struct mdstat_ent *mdstat,
        new->info.state_fd = sysfs_open(new->devnum, NULL, "array_state");
        new->resync_start_fd = sysfs_open(new->devnum, NULL, "resync_start");
        new->metadata_fd = sysfs_open(new->devnum, NULL, "metadata_version");
-       get_resync_start(new);
        dprintf("%s: inst: %d action: %d state: %d\n", __func__, atoi(inst),
                new->action_fd, new->info.state_fd);