[PATCH] Fix IO error reporting on fsync()
authorJan Kara <jack@suse.cz>
Tue, 17 Oct 2006 07:10:19 +0000 (00:10 -0700)
committerLinus Torvalds <torvalds@g5.osdl.org>
Tue, 17 Oct 2006 15:18:46 +0000 (08:18 -0700)
commit58ff407bee5a55f9c1188a3f9d70ffc79485183c
tree58132c31553a16b09e10f876561cd9ff1132fa77
parentd343fce148a4eee24a907a05c4101d3268045aae
[PATCH] Fix IO error reporting on fsync()

When IO error happens on metadata buffer, buffer is freed from memory and
later fsync() is called, filesystems like ext2 fail to report EIO.  We

solve the problem by introducing a pointer to associated address space into
the buffer_head.  When a buffer is removed from a list of metadata buffers
associated with an address space, IO error is transferred from the buffer to
the address space, so that fsync can later report it.

Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
fs/buffer.c
include/linux/buffer_head.h