• Hisashi Hifumi's avatar
    [PATCH] BUG on error handlings in Ext3 under I/O failure condition · 66d27243
    Hisashi Hifumi authored
    I found bugs on error handlings in the functions arround the ext3 file
    system, which cause inadequate completions of synchronous write I/O
    operations when disk I/O failures occur.  Both 2.4 and 2.6 have this
    problem.
    
    	I carried out following experiment:
    
    1.  Mount a ext3 file system on a SCSI disk with ordered mode.
    2.  Open a file on the file system with O_SYNC|O_RDWR|O_TRUNC|O_CREAT flag.
    3.  Write 512 bytes data to the file by calling write() every 5 seconds, and
         examine return values from the syscall.
         from write().
    4.  Disconnect the SCSI cable,  and examine messages from the kernel.
    
    After the SCSI cable is disconnected, write() must fail.  But the result
    was different: write() succeeded for a while even though messages of the
    kernel notified SCSI I/O error.
    
    By applying following modifications, the above problem was solved.
    Signed-off-by: default avatarHisashi Hifumi <hifumi.hisashi@lab.ntt.co.jp>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    66d27243
buffer.c 80.1 KB