f2fs: don't do checkpoint if error is occurred
authorJaegeuk Kim <jaegeuk.kim@samsung.com>
Mon, 20 May 2013 05:48:49 +0000 (14:48 +0900)
committerJaegeuk Kim <jaegeuk.kim@samsung.com>
Tue, 28 May 2013 06:03:03 +0000 (15:03 +0900)
If we met an error during the dentry recovery, we should not conduct checkpoint.
Otherwise, some errorneous dentry blocks overwrites the existing blocks that
contain the remaining recovery information.

Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
fs/f2fs/recovery.c

index 3a4b51c..5148d90 100644 (file)
@@ -403,6 +403,7 @@ out:
        destroy_fsync_dnodes(sbi, &inode_list);
        kmem_cache_destroy(fsync_entry_slab);
        sbi->por_doing = 0;
-       write_checkpoint(sbi, false);
+       if (!err)
+               write_checkpoint(sbi, false);
        return err;
 }