FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Redhat > Device-mapper Development

 
 
LinkBack Thread Tools
 
Old 02-23-2010, 05:45 PM
Takahiro Yasui
 
Default dm-log: update resume method for interruption of presuspend

When suspend is interrupted after presuspend procedure, each
target needs to cancel all state changes done by its presuspend
procedure. As for the log target, there is nothing to be canceled
because the log target doesn't have a presuspend method.

The log target should skip disk_resume/core_resume method when
the target isn't suspended.


Signed-off-by: Takahiro Yasui <tyasui@redhat.com>
---
drivers/md/dm-log.c | 9 +++++++++
1 file changed, 9 insertions(+)

Index: linux-2.6.33-rc1-dm/drivers/md/dm-log.c
================================================== =================
--- linux-2.6.33-rc1-dm.orig/drivers/md/dm-log.c
+++ linux-2.6.33-rc1-dm/drivers/md/dm-log.c
@@ -593,6 +593,10 @@ static int disk_resume(struct dm_dirty_l
struct log_c *lc = (struct log_c *) log->context;
size_t size = lc->bitset_uint32_count * sizeof(uint32_t);

+ /* Just returns if the state is not "suspended." */
+ if (!dm_suspended(lc->ti))
+ return 0;
+
/* read the disk header */
r = read_header(lc);
if (r) {
@@ -658,6 +662,11 @@ static uint32_t core_get_region_size(str
static int core_resume(struct dm_dirty_log *log)
{
struct log_c *lc = (struct log_c *) log->context;
+
+ /* Just returns if the state is not "suspended." */
+ if (!dm_suspended(lc->ti))
+ return 0;
+
lc->sync_search = 0;
return 0;
}

--
dm-devel mailing list
dm-devel@redhat.com
https://www.redhat.com/mailman/listinfo/dm-devel
 

Thread Tools




All times are GMT. The time now is 02:55 PM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org