2004-04-23 19:56:00

by Chris Mason

[permalink] [raw]
Subject: [PATCH] 1/1 reiserfs: ignore prepared and locked buffers

[email protected]

block_write_full_page might see and lock clean metadata buffers, which leads
to bogus vs-12339 messages. Change the message to ignore bh locked.

Index: linux.mm/fs/reiserfs/do_balan.c
===================================================================
--- linux.mm.orig/fs/reiserfs/do_balan.c 2004-04-23 14:08:22.436537699 -0400
+++ linux.mm/fs/reiserfs/do_balan.c 2004-04-23 14:09:05.089418397 -0400
@@ -1343,7 +1343,8 @@ static void check_internal_node (struct

static int locked_or_not_in_tree (struct buffer_head * bh, char * which)
{
- if ( buffer_locked (bh) || !B_IS_IN_TREE (bh) ) {
+ if ( (!reiserfs_buffer_prepared(bh) && buffer_locked (bh)) ||
+ !B_IS_IN_TREE (bh) ) {
reiserfs_warning ("vs-12339: locked_or_not_in_tree: %s (%b)\n", which, bh);
return 1;
}