• Jaegeuk Kim's avatar
    f2fs: handle EIO not to break fs consistency · cf779cab
    Jaegeuk Kim authored
    There are two rules when EIO is occurred.
    1. don't write any checkpoint data to preserve the previous checkpoint
    2. don't lose the cached dentry/node/meta pages
    
    So, at first, this patch adds set_page_dirty in f2fs_write_end_io's failure.
    Then, writing checkpoint/dentry/node blocks is not allowed.
    
    Note that, for the data pages, we can't just throw away by redirtying them.
    Otherwise, kworker can fall into infinite loop to flush them.
    (Ref. xfstests/019)
    Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
    cf779cab
data.c 27.3 KB