aboutsummaryrefslogtreecommitdiffstats
path: root/managemon.c
diff options
context:
space:
mode:
authorDan Williams <dan.j.williams@intel.com>2010-05-14 17:42:49 -0700
committerDan Williams <dan.j.williams@intel.com>2010-05-14 17:42:49 -0700
commit484240d8a3facde992009efd81bfa4cc0c79287d (patch)
treee8caef63af97a57817ab331256528f0836737ea3 /managemon.c
parent63b4aae33ebf00d443378daf313622630f2336c0 (diff)
downloadmdadm-484240d8a3facde992009efd81bfa4cc0c79287d.tar.gz
mdmon: periodically checkpoint recovery
The kernel updates and notifies md/sync_completed when it is time to take a checkpoint. When this occurs (at 1/16 array size intervals) write 'idle' to md/sync_action to have the current recovery position updated in recovery_start and resync_start. Requires the metadata handler to reset ->last_checkpoint when it has determined that recovery has ended. Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'managemon.c')
-rw-r--r--managemon.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/managemon.c b/managemon.c
index 454c39dc..d5ba6d6d 100644
--- a/managemon.c
+++ b/managemon.c
@@ -540,6 +540,7 @@ 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");
+ new->sync_completed_fd = sysfs_open(new->devnum, NULL, "sync_completed");
dprintf("%s: inst: %d action: %d state: %d\n", __func__, atoi(inst),
new->action_fd, new->info.state_fd);