summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJaegeuk Kim <jaegeuk.kim@samsung.com>2013-05-20 05:48:49 (GMT)
committerJaegeuk Kim <jaegeuk.kim@samsung.com>2013-05-28 06:03:03 (GMT)
commit2c2c149f7dabd5a4d41cae5d2c2ce1d130acf72c (patch)
tree97df822bb926b581500e2f5b0c0477a873968986
parent45856aff0d9091f4836e333951c66eca382a8573 (diff)
downloadlinux-2c2c149f7dabd5a4d41cae5d2c2ce1d130acf72c.tar.xz
f2fs: don't do checkpoint if error is occurred
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>
-rw-r--r--fs/f2fs/recovery.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/f2fs/recovery.c b/fs/f2fs/recovery.c
index 3a4b51c..5148d90 100644
--- a/fs/f2fs/recovery.c
+++ b/fs/f2fs/recovery.c
@@ -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;
}