Re: -tip: origin tree boot crash

From: Al Viro
Date: Thu Dec 17 2009 - 04:32:32 EST


On Thu, Dec 17, 2009 at 10:02:50AM +0100, Ingo Molnar wrote:
>
> Today's -tip crashes during bootup on one of my testsystems, and i've bisected
> it back to this commit:
>
> | 5fe878ae7f82fbf0830dbfaee4c5ca18f3aee442 is the first bad commit
> | commit 5fe878ae7f82fbf0830dbfaee4c5ca18f3aee442
> | Author: Christoph Hellwig <hch@xxxxxx>
> | Date: Tue Dec 15 16:47:50 2009 -0800
> |
> | direct-io: cleanup blockdev_direct_IO locking
> |
> | Currently the locking in blockdev_direct_IO is a mess, we have three
> | different locking types and very confusing checks for some of them. The
> | most complicated one is DIO_OWN_LOCKING for reads, which happens to not
> | actually be used.
>
> I have no bootlog available currently. The kernel config is attached.
>
> I've reverted the patch from -tip for now.

How about this:

diff --git a/fs/direct-io.c b/fs/direct-io.c
index 4012885..e82adc2 100644
--- a/fs/direct-io.c
+++ b/fs/direct-io.c
@@ -1206,7 +1206,7 @@ __blockdev_direct_IO(int rw, struct kiocb *iocb, struct inode *inode,
* NOTE: filesystems with their own locking have to handle this
* on their own.
*/
- if (dio->flags & DIO_LOCKING) {
+ if (flags & DIO_LOCKING) {
if (unlikely((rw & WRITE) && retval < 0)) {
loff_t isize = i_size_read(inode);
if (end > isize)
--
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/