summaryrefslogtreecommitdiffstats
path: root/fs/f2fs
diff options
context:
space:
mode:
authorJaegeuk Kim <jaegeuk.kim@samsung.com>2013-05-20 07:48:49 +0200
committerJaegeuk Kim <jaegeuk.kim@samsung.com>2013-05-28 08:03:03 +0200
commit2c2c149f7dabd5a4d41cae5d2c2ce1d130acf72c (patch)
tree97df822bb926b581500e2f5b0c0477a873968986 /fs/f2fs
parentf2fs: fix to unlock page before exit (diff)
downloadlinux-2c2c149f7dabd5a4d41cae5d2c2ce1d130acf72c.tar.xz
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/f2fs')
-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;
}