Unverified Commit 25600465 authored by openeuler-ci-bot's avatar openeuler-ci-bot Committed by Gitee
Browse files

!13016 f2fs: fix to check atomic_file in f2fs ioctl interfaces

parents 715e6759 2e98d924
Loading
Loading
Loading
Loading
+15 −0
Original line number Diff line number Diff line
@@ -2614,6 +2614,11 @@ static int f2fs_defragment_range(struct f2fs_sb_info *sbi,

	inode_lock(inode);

	if (f2fs_is_atomic_file(inode)) {
		err = -EINVAL;
		goto out;
	}

	/* writeback all dirty pages in the range */
	err = filemap_write_and_wait_range(inode->i_mapping, range->start,
						range->start + range->len - 1);
@@ -2826,6 +2831,11 @@ static int f2fs_move_file_range(struct file *file_in, loff_t pos_in,
		goto out_unlock;
	}

	if (f2fs_is_atomic_file(src) || f2fs_is_atomic_file(dst)) {
		ret = -EINVAL;
		goto out_unlock;
	}

	ret = -EINVAL;
	if (pos_in + len > src->i_size || pos_in + len < pos_in)
		goto out_unlock;
@@ -3273,6 +3283,11 @@ static int f2fs_ioc_set_pin_file(struct file *filp, unsigned long arg)
		goto out;
	}

	if (f2fs_is_atomic_file(inode)) {
		ret = -EINVAL;
		goto out;
	}

	if (!pin) {
		clear_inode_flag(inode, FI_PIN_FILE);
		f2fs_i_gc_failures_write(inode, 0);