lkml.org 
[lkml]   [2009]   [Feb]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [Bug 12713] Hang on resume from hibernation, apparently as result of 213d9417fec
On Mon, Feb 16 2009, Michael S. Tsirkin wrote:
> On Mon, Feb 16, 2009 at 2:05 AM, Michael S. Tsirkin
> <m.s.tsirkin@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?

That's clearly a braino, you can't OR the shift values of course. I'll
get it fixed up asap!

--
Jens Axboe



\
 
 \ /
  Last update: 2009-02-18 12:23    [W:0.304 / U:2.456 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site