[linux-pm] [Bug 12713] Hang on resume from hibernation, apparently as result of 213d9417fec
Michael S. Tsirkin
m.s.tsirkin at gmail.com
Sun Feb 15 16:07:59 PST 2009
On Mon, Feb 16, 2009 at 2:05 AM, Michael S. Tsirkin
<m.s.tsirkin at gmail.com> wrote:
> Summary: seem to need to revert 213d9417fec62ef4c3675621b9364a667954d4dd
> to fix resume from hibernation. Bugzilla entry created:
> http://bugzilla.kernel.org/show_bug.cgi?id=12713
Looking over this, I see something strange in the commit in question:
diff --git a/include/linux/bio.h b/include/linux/bio.h
index 5175aa3..f53568c 100644
--- a/include/linux/bio.h
+++ b/include/linux/bio.h
@@ -163,12 +163,15 @@ struct bio {
#define BIO_RW 0 /* Must match RW in req flags (blkdev.h) */
#define BIO_RW_AHEAD 1 /* Must match FAILFAST in req flags */
#define BIO_RW_BARRIER 2
-#define BIO_RW_SYNC 3
-#define BIO_RW_META 4
-#define BIO_RW_DISCARD 5
-#define BIO_RW_FAILFAST_DEV 6
-#define BIO_RW_FAILFAST_TRANSPORT 7
-#define BIO_RW_FAILFAST_DRIVER 8
+#define BIO_RW_SYNCIO 3
+#define BIO_RW_UNPLUG 4
+#define BIO_RW_META 5
+#define BIO_RW_DISCARD 6
+#define BIO_RW_FAILFAST_DEV 7
+#define BIO_RW_FAILFAST_TRANSPORT 8
+#define BIO_RW_FAILFAST_DRIVER 9
+
+#define BIO_RW_SYNC (BIO_RW_SYNCIO | BIO_RW_UNPLUG)
/*
* upper 16 bits of bi_rw define the io priority of this bio
I haven't read the code in depth, but taking running numbers and doing
bitwise "or"
on them looks a bit strange to me.
So here BIO_RW_SYNC is (3 | 4) = 7, that is the same as BIO_RW_FAILFAST_DEV.
So for example bio_failfast_dev and bio_sync are the same.
Jens, could you comment on this please? Is this intentional?
--
MST
More information about the linux-pm
mailing list