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

Commit b3a3eea5 authored by Jaegeuk Kim's avatar Jaegeuk Kim
Browse files

f2fs: add lazytime mount option



This patch adds lazytime support.

Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>

 Conflicts:
	fs/f2fs/super.c
parent 1870ce0c
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -109,6 +109,8 @@ enum {
	Opt_mode,
	Opt_io_size_bits,
	Opt_fault_injection,
	Opt_lazytime,
	Opt_nolazytime,
	Opt_quota,
	Opt_noquota,
	Opt_usrquota,
@@ -156,6 +158,8 @@ static match_table_t f2fs_tokens = {
	{Opt_mode, "mode=%s"},
	{Opt_io_size_bits, "io_bits=%u"},
	{Opt_fault_injection, "fault_injection=%u"},
	{Opt_lazytime, "lazytime"},
	{Opt_nolazytime, "nolazytime"},
	{Opt_quota, "quota"},
	{Opt_noquota, "noquota"},
	{Opt_usrquota, "usrquota"},
@@ -512,6 +516,12 @@ static int parse_options(struct super_block *sb, char *options)
				"FAULT_INJECTION was not selected");
#endif
			break;
		case Opt_lazytime:
			sb->s_flags |= MS_LAZYTIME;
			break;
		case Opt_nolazytime:
			sb->s_flags &= ~MS_LAZYTIME;
			break;
#ifdef CONFIG_QUOTA
		case Opt_quota:
		case Opt_usrquota:
@@ -743,6 +753,9 @@ static void f2fs_dirty_inode(struct inode *inode, int flags)
			inode->i_ino == F2FS_META_INO(sbi))
		return;

	if (flags == I_DIRTY_TIME)
		return;

	if (is_inode_flag_set(inode, FI_AUTO_RECOVER))
		clear_inode_flag(inode, FI_AUTO_RECOVER);

@@ -1118,6 +1131,7 @@ static void default_options(struct f2fs_sb_info *sbi)
	set_opt(sbi, INLINE_DENTRY);
	set_opt(sbi, EXTENT_CACHE);
	set_opt(sbi, NOHEAP);
	sbi->sb->s_flags |= MS_LAZYTIME;
	set_opt(sbi, FLUSH_MERGE);
	if (f2fs_sb_mounted_blkzoned(sbi->sb)) {
		set_opt_mode(sbi, F2FS_MOUNT_LFS);