The b_private field in buffer heads needs to be zero filled when the buffers are allocated. Thanks to Nathan Scott for finding this. It was causing problems on systems with both XFS and reiserfs. diff -r 5ef1fa0a021a fs/buffer.c --- a/fs/buffer.c Fri Jan 13 13:50:39 2006 -0500 +++ b/fs/buffer.c Fri Jan 13 13:51:09 2006 -0500 @@ -1022,6 +1022,7 @@ try_again: bh->b_state = 0; atomic_set(&bh->b_count, 0); + bh->b_private = NULL; bh->b_size = size; /* Link the buffer to its page */ --