• Jan Kara's avatar
    [PATCH] Fix IO error reporting on fsync() · 58ff407b
    Jan Kara authored
    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: default avatarJan Kara <jack@suse.cz>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    58ff407b
buffer.c 80 KB