Commit 1efb7c8f authored by Zhiguo Niu's avatar Zhiguo Niu Committed by Jaegeuk Kim
Browse files

f2fs: fix to use mnt_{want,drop}_write_file replace file_{start,end}_wrtie



mnt_{want,drop}_write_file is more suitable than
file_{start,end}_wrtie and also is consistent with
other ioctl operations.

Signed-off-by: default avatarZhiguo Niu <zhiguo.niu@unisoc.com>
Reviewed-by: default avatarChao Yu <chao@kernel.org>
Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
parent 6aeb084f
Loading
Loading
Loading
Loading
+16 −8
Original line number Diff line number Diff line
@@ -3935,7 +3935,9 @@ static int f2fs_sec_trim_file(struct file *filp, unsigned long arg)
			 IS_ENCRYPTED(inode) && f2fs_is_multi_device(sbi)))
		return -EOPNOTSUPP;

	file_start_write(filp);
	ret = mnt_want_write_file(filp);
	if (ret)
		return ret;
	inode_lock(inode);

	if (f2fs_is_atomic_file(inode) || f2fs_compressed_file(inode) ||
@@ -4061,7 +4063,7 @@ static int f2fs_sec_trim_file(struct file *filp, unsigned long arg)
	f2fs_up_write(&F2FS_I(inode)->i_gc_rwsem[WRITE]);
err:
	inode_unlock(inode);
	file_end_write(filp);
	mnt_drop_write_file(filp);

	return ret;
}
@@ -4115,7 +4117,9 @@ static int f2fs_ioc_set_compress_option(struct file *filp, unsigned long arg)
		option.algorithm >= COMPRESS_MAX)
		return -EINVAL;

	file_start_write(filp);
	ret = mnt_want_write_file(filp);
	if (ret)
		return ret;
	inode_lock(inode);

	f2fs_down_write(&F2FS_I(inode)->i_sem);
@@ -4154,7 +4158,7 @@ static int f2fs_ioc_set_compress_option(struct file *filp, unsigned long arg)
out:
	f2fs_up_write(&F2FS_I(inode)->i_sem);
	inode_unlock(inode);
	file_end_write(filp);
	mnt_drop_write_file(filp);

	return ret;
}
@@ -4211,7 +4215,9 @@ static int f2fs_ioc_decompress_file(struct file *filp)

	f2fs_balance_fs(sbi, true);

	file_start_write(filp);
	ret = mnt_want_write_file(filp);
	if (ret)
		return ret;
	inode_lock(inode);

	if (!f2fs_is_compress_backend_ready(inode)) {
@@ -4266,7 +4272,7 @@ static int f2fs_ioc_decompress_file(struct file *filp)
	f2fs_update_time(sbi, REQ_TIME);
out:
	inode_unlock(inode);
	file_end_write(filp);
	mnt_drop_write_file(filp);

	return ret;
}
@@ -4288,7 +4294,9 @@ static int f2fs_ioc_compress_file(struct file *filp)

	f2fs_balance_fs(sbi, true);

	file_start_write(filp);
	ret = mnt_want_write_file(filp);
	if (ret)
		return ret;
	inode_lock(inode);

	if (!f2fs_is_compress_backend_ready(inode)) {
@@ -4344,7 +4352,7 @@ static int f2fs_ioc_compress_file(struct file *filp)
	f2fs_update_time(sbi, REQ_TIME);
out:
	inode_unlock(inode);
	file_end_write(filp);
	mnt_drop_write_file(filp);

	return ret;
}