Commit 6b3df0d7 authored by Jonathan Brassow's avatar Jonathan Brassow Committed by Alasdair G Kergon

dm log: split suspend

There are now two phases to a suspend in device-mapper -
presuspend and postsuspend.  This patch removes the
single 'suspend' in the logging API and replaces it with
'presuspend' and 'postsuspend' functions to align it
better with core device-mapper.

A subsequent patch will make use of 'presuspend'.
Signed-off-by: default avatarJonathan Brassow <jbrassow@redhat.com>
Signed-off-by: default avatarAlasdair G Kergon <agk@redhat.com>
parent fe97e2aa
...@@ -696,7 +696,7 @@ static struct dirty_log_type _disk_type = { ...@@ -696,7 +696,7 @@ static struct dirty_log_type _disk_type = {
.module = THIS_MODULE, .module = THIS_MODULE,
.ctr = disk_ctr, .ctr = disk_ctr,
.dtr = disk_dtr, .dtr = disk_dtr,
.suspend = disk_flush, .postsuspend = disk_flush,
.resume = disk_resume, .resume = disk_resume,
.get_region_size = core_get_region_size, .get_region_size = core_get_region_size,
.is_clean = core_is_clean, .is_clean = core_is_clean,
......
...@@ -32,7 +32,8 @@ struct dirty_log_type { ...@@ -32,7 +32,8 @@ struct dirty_log_type {
* There are times when we don't want the log to touch * There are times when we don't want the log to touch
* the disk. * the disk.
*/ */
int (*suspend)(struct dirty_log *log); int (*presuspend)(struct dirty_log *log);
int (*postsuspend)(struct dirty_log *log);
int (*resume)(struct dirty_log *log); int (*resume)(struct dirty_log *log);
/* /*
......
...@@ -1305,7 +1305,7 @@ static void mirror_postsuspend(struct dm_target *ti) ...@@ -1305,7 +1305,7 @@ static void mirror_postsuspend(struct dm_target *ti)
wait_event(_kmirrord_recovery_stopped, wait_event(_kmirrord_recovery_stopped,
!atomic_read(&ms->rh.recovery_in_flight)); !atomic_read(&ms->rh.recovery_in_flight));
if (log->type->suspend && log->type->suspend(log)) if (log->type->postsuspend && log->type->postsuspend(log))
/* FIXME: need better error handling */ /* FIXME: need better error handling */
DMWARN("log suspend failed"); DMWARN("log suspend failed");
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment