summaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorJaegeuk Kim <jaegeuk.kim@samsung.com>2013-05-20 14:48:49 +0900
committerJaegeuk Kim <jaegeuk.kim@samsung.com>2013-05-28 15:03:03 +0900
commit2c2c149f7dabd5a4d41cae5d2c2ce1d130acf72c (patch)
tree97df822bb926b581500e2f5b0c0477a873968986 /fs
parent45856aff0d9091f4836e333951c66eca382a8573 (diff)
downloadlinux-2c2c149f7dabd5a4d41cae5d2c2ce1d130acf72c.tar.gz
linux-2c2c149f7dabd5a4d41cae5d2c2ce1d130acf72c.tar.bz2
linux-2c2c149f7dabd5a4d41cae5d2c2ce1d130acf72c.zip
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>
Diffstat (limited to 'fs')
-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;
}