summaryrefslogtreecommitdiff
path: root/fs
diff options
context:
space:
mode:
authorJaegeuk Kim <jaegeuk.kim@samsung.com>2013-05-20 14:48:49 +0900
committerChanho Park <chanho61.park@samsung.com>2014-08-08 14:35:49 +0900
commita118fdf543deb61bed724aa1f12bbc01a50a47fa (patch)
treed5c680cd0ab918f82ba1ea13098d1f2149702c2b /fs
parent80ccb4fe053103c36f1824a2d40f4182fd528208 (diff)
downloadlinux-3.10-a118fdf543deb61bed724aa1f12bbc01a50a47fa.tar.gz
linux-3.10-a118fdf543deb61bed724aa1f12bbc01a50a47fa.tar.bz2
linux-3.10-a118fdf543deb61bed724aa1f12bbc01a50a47fa.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 3a4b51c0332..5148d90049b 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;
}