Re: BUG at drivers/scsi/scsi_lib.c:1113

From: Neil Brown
Date: Thu Jul 22 2010 - 03:37:36 EST


On Thu, 22 Jul 2010 09:04:27 +0200
Jiri Slaby <jirislaby@xxxxxxxxx> wrote:

> Hello,
>
> I'm seeing this BUG while booting:
>
> EXT3-fs (md1): using internal journal
> ------------[ cut here ]------------
> kernel BUG at /home/l/latest/xxx/drivers/scsi/scsi_lib.c:1113!

You aren't the only one.
https://bugzilla.kernel.org/show_bug.cgi?id=16275


> I bisected it down to:
> commit 74450be123b6f3cb480c358a056be398cce6aa6e
> Author: Christoph Hellwig <hch@xxxxxx>
> Date: Fri Jun 18 11:53:43 2010 +0200
>
> block: unify flags for struct bio and struct request
>
> Remove the current bio flags and reuse the request flags for the
> bio, too.
> This allows to more easily trace the type of I/O from the filesystem
> down to the block driver. There were two flags in the bio that were
> missing in the requests: BIO_RW_UNPLUG and BIO_RW_AHEAD. Also I've
> renamed two request flags that had a superflous RW in them.
>
> Note that the flags are in bio.h despite having the REQ_ name - as
> blkdev.h includes bio.h that is the only way to go for now.
>
> Signed-off-by: Christoph Hellwig <hch@xxxxxx>
> Signed-off-by: Jens Axboe <jaxboe@xxxxxxxxxxxx>
>
>

Thanks for doing that.

I suspect that problem is that "do_sync" and "do_barriers" in
drivers/md/raid1.c are still 'bool' and should now be 'unsigned long'.

I'm not sure how wide '_Bool' is, but I'm guess it isn't wide enough.

Could you please try changing ever 'bool' in that file to 'unsigned long'
and see if that fixes it?

Thanks,
NeilBrown
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/