jbd: test BH_Write_EIO to detect errors on metadata buffers
authorHidehiro Kawai <hidehiro.kawai.ez@hitachi.com>
Wed, 22 Oct 2008 21:15:02 +0000 (14:15 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Sat, 13 Dec 2008 23:29:16 +0000 (15:29 -0800)
commiteb6abcfe147282b257b5411a31a91ae1d083ec82
treeb8ffcf73dab7029345408eeadfad54f4506a7966
parentb43a0b325c7e28db51c3f4a0aaa8499518fa9b3b
jbd: test BH_Write_EIO to detect errors on metadata buffers

commit 9f818b4ac04f53458d0354950b4f229f54be4dbf upstream.

__try_to_free_cp_buf(), __process_buffer(), and __wait_cp_io() test
BH_Uptodate flag to detect write I/O errors on metadata buffers.  But by
commit 95450f5a7e53d5752ce1a0d0b8282e10fe745ae0 "ext3: don't read inode
block if the buffer has a write error"(*), BH_Uptodate flag can be set to
inode buffers with BH_Write_EIO in order to avoid reading old inode data.
So now, we have to test BH_Write_EIO flag of checkpointing inode buffers
instead of BH_Uptodate.  This patch does it.

Signed-off-by: Hidehiro Kawai <hidehiro.kawai.ez@hitachi.com>
Acked-by: Jan Kara <jack@suse.cz>
Acked-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
fs/jbd/checkpoint.c