[RFC][PATCH 3/4] dm-crypt: update resume method for interruption of presuspend

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

The crypt target should skip crypt_preresume/crypt_resume method
when the target isn't suspended.


Signed-off-by: Takahiro Yasui <tyasui@xxxxxxxxxx>
---
 drivers/md/dm-crypt.c |    8 ++++++++
 1 file changed, 8 insertions(+)

Index: linux-2.6.33-rc1-dm/drivers/md/dm-crypt.c
===================================================================
--- linux-2.6.33-rc1-dm.orig/drivers/md/dm-crypt.c
+++ linux-2.6.33-rc1-dm/drivers/md/dm-crypt.c
@@ -1314,6 +1314,10 @@ static int crypt_preresume(struct dm_tar
 {
 	struct crypt_config *cc = ti->private;
 
+	/* Just returns if the state is not "suspended". */
+	if (!dm_suspended(ti))
+		return 0;
+
 	if (!test_bit(DM_CRYPT_KEY_VALID, &cc->flags)) {
 		DMERR("aborting resume - crypt key is not set.");
 		return -EAGAIN;
@@ -1326,6 +1330,10 @@ static void crypt_resume(struct dm_targe
 {
 	struct crypt_config *cc = ti->private;
 
+	/* Just returns if the state is not "suspended". */
+	if (!dm_suspended(ti))
+		return;
+
 	clear_bit(DM_CRYPT_SUSPENDED, &cc->flags);
 }
 

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

[Index of Archives]     [DM Crypt]     [Fedora Desktop]     [ATA RAID]     [Fedora Marketing]     [Fedora Packaging]     [Fedora SELinux]     [Yosemite Discussion]     [KDE Users]     [Fedora Docs]

  Powered by Linux