Re: [2.5/2.6] buffer layer error at fs/buffer.c:2800 when unlinking

From: Nathan Scott (nathans@sgi.com)
Date: Wed Aug 06 2003 - 18:59:08 EST


On Sun, Aug 03, 2003 at 04:51:13PM +0200, Karol Kozimor wrote:
> Hi,
>
> I've recently managed to nail down the problems that have been occuring on
> my machine at least since 2.5.59. I use XFS as my rootfs, no other
> filesystems are compiled in, but I doubt the filesystem is to blame, since
> the problem does not appear under 2.4, despite the similar codebase.
> ...
> Here's the guts: upon unlinking files in /var/{run,lock/subsys} (typically
> during shutdown, but not only), and when doing "dd if=/dev/urandom
> of=/etc/random-seed count=1 bs=512" the following traces appear:
> #v+
> buffer layer error at fs/buffer.c:2800
> Call Trace:
> [<c014f1c6>] drop_buffers+0xb3/0xb9
> [<c014f208>] try_to_free_buffers+0x3c/0x96
> [<c01db1a1>] linvfs_release_page+0x74/0x78
> [<c014d2e6>] try_to_release_page+0x5c/0x6c

Hi there,

This is indeed an XFS issue (thanks for reporting it), the
patch below fixes it.

cheers.

-- 
Nathan

--- /usr/tmp/TmpDir.2013-0/linux/fs/xfs/linux/xfs_aops.c_1.45 2003-08-07 09:55:53.000000000 +1000 +++ linux/fs/xfs/linux/xfs_aops.c 2003-08-07 09:22:10.808194848 +1000 @@ -803,7 +803,7 @@ bh = bh->b_this_page; } while (offset < end_offset); - if (uptodate) + if (uptodate && bh == head) SetPageUptodate(page); if (startio) - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Thu Aug 07 2003 - 22:00:36 EST