tree 0b9dae5a22d8caeab40a5e08150bfad27411cc41
parent b4819b593740a6d11db07b52e0fe35975b29a185
author Hifumi Hisashi <hifumi.hisashi@lab.ntt.co.jp> 1119736472 -0700
committer Linus Torvalds <torvalds@ppc970.osdl.org> 1119741865 -0700

[PATCH] Fix the error handling in direct I/O

Fix a bug on error handling in the direct I/O function.

Currently, if a file is opened with the O_DIRECT|O_SYNC flag, the write()
syscall cannot receive the EIO error after an I/O error (SCSI cable is
disconnected etc.).

Return values of other points that call generic_osync_inode() are treated
appropriately.

Signed-off-by: Hisashi Hifumi  <hifumi.hisashi@lab.ntt.co.jp>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
