summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJaegeuk Kim <jaegeuk.kim@samsung.com>2013-05-20 09:48:49 +0400
committerJaegeuk Kim <jaegeuk.kim@samsung.com>2013-05-28 10:03:03 +0400
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 3a4b51c03321..5148d90049b0 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;
}