From: Jonathan Brassow <[email-masked]>

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 better
align it with the current DM implementation.

Signed-off-by: Jonathan Brassow <[email-masked]>

---
 drivers/md/dm-log.c   |    2 +-
 drivers/md/dm-log.h   |    3 ++-
 drivers/md/dm-raid1.c |    2 +-
 3 files changed, 4 insertions(+), 3 deletions(-)

Index: linux/drivers/md/dm-log.c
===================================================================
--- linux.orig/drivers/md/dm-log.c	2007-07-11 14:45:07.000000000 +0100
+++ linux/drivers/md/dm-log.c	2007-07-12 17:04:19.000000000 +0100
@@ -696,7 +696,7 @@ static struct dirty_log_type _disk_type 
 	.module = THIS_MODULE,
 	.ctr = disk_ctr,
 	.dtr = disk_dtr,
-	.suspend = disk_flush,
+	.postsuspend = disk_flush,
 	.resume = disk_resume,
 	.get_region_size = core_get_region_size,
 	.is_clean = core_is_clean,
Index: linux/drivers/md/dm-log.h
===================================================================
--- linux.orig/drivers/md/dm-log.h	2007-07-11 14:45:07.000000000 +0100
+++ linux/drivers/md/dm-log.h	2007-07-12 17:04:19.000000000 +0100
@@ -32,7 +32,8 @@ struct dirty_log_type {
 	 * There are times when we don't want the log to touch
 	 * 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);
 
 	/*
Index: linux/drivers/md/dm-raid1.c
===================================================================
--- linux.orig/drivers/md/dm-raid1.c	2007-07-12 17:04:17.000000000 +0100
+++ linux/drivers/md/dm-raid1.c	2007-07-12 17:04:19.000000000 +0100
@@ -1462,7 +1462,7 @@ static void mirror_postsuspend(struct dm
 	wait_event(_kmirrord_recovery_stopped,
 		   !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 */
 		DMWARN("log suspend failed");
 }