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

From: Jiri Slaby
Date: Thu Jul 22 2010 - 04:06:18 EST


On 07/22/2010 09:37 AM, Neil Brown wrote:
> 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.

ANSI says:
An object declared as type _Bool is large enough to store the values 0
and 1.

gcc spec doesn't say anything, but:
$ gcc -S -x c -o - -
unsigned long x = sizeof(_Bool);
^D
...
x:
.quad 1

I.e. sizeof(_Bool) = 1 byte.

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

Will do that.

thanks,
--
js
--
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/