Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 691c6fd2 authored by Chao Yu's avatar Chao Yu Committed by Jaegeuk Kim
Browse files

f2fs: remove unneeded write checkpoint in recover_fsync_data



Previously, recover_fsync_data still to write checkpoint when there is
nothing to recover with normal umount image.
It may reduce mount performance and flash memory lifetime, so let's remove
it.

Signed-off-by: default avatarTan Shu <shu.tan@samsung.com>
Signed-off-by: default avatarYu Chao <chao2.yu@samsung.com>
Reviewed-by: default avatarGu Zheng <guz.fnst@cn.fujitsu.com>
Signed-off-by: default avatarJaegeuk Kim <jaegeuk.kim@samsung.com>
parent cc7b1bb1
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -419,6 +419,7 @@ int recover_fsync_data(struct f2fs_sb_info *sbi)
{
	struct list_head inode_list;
	int err;
	int need_writecp = 0;

	fsync_entry_slab = f2fs_kmem_cache_create("f2fs_fsync_inode_entry",
			sizeof(struct fsync_inode_entry), NULL);
@@ -436,6 +437,8 @@ int recover_fsync_data(struct f2fs_sb_info *sbi)
	if (list_empty(&inode_list))
		goto out;

	need_writecp = 1;

	/* step #2: recover data */
	err = recover_data(sbi, &inode_list, CURSEG_WARM_NODE);
	BUG_ON(!list_empty(&inode_list));
@@ -443,7 +446,7 @@ out:
	destroy_fsync_dnodes(&inode_list);
	kmem_cache_destroy(fsync_entry_slab);
	sbi->por_doing = 0;
	if (!err)
	if (!err && need_writecp)
		write_checkpoint(sbi, false);
	return err;
}