Re: [f2fs-dev] [PATCH v4 2/2] f2fs: fix compat F2FS_IOC_{MOVE, GARBAGE_COLLECT}_RANGE

From: Chao Yu
Date: Sat Nov 07 2020 - 04:25:29 EST


On 2020/11/7 2:03, Eric Biggers wrote:
On Fri, Nov 06, 2020 at 02:53:31PM +0800, Chao Yu wrote:
+#if defined(__KERNEL__)
+struct compat_f2fs_gc_range {
+ u32 sync;
+ compat_u64 start;
+ compat_u64 len;
+};

There's no need to use '#if defined(__KERNEL__)' in kernel source files.

Likewise for compat_f2fs_move_range.

Correct.


+static int f2fs_compat_ioc_gc_range(struct file *file, unsigned long arg)
+{
+ struct f2fs_sb_info *sbi = F2FS_I_SB(file_inode(file));
+ struct compat_f2fs_gc_range __user *urange;
+ struct f2fs_gc_range range;
+ int err;
+
+ if (unlikely(f2fs_cp_error(sbi)))
+ return -EIO;
+ if (!f2fs_is_checkpoint_ready(sbi))
+ return -ENOSPC;

I still don't understand why this checkpoint-related stuff is getting added
here, and only to the compat versions of the ioctls. It wasn't in the original
version. If they are needed then they should be added to __f2fs_ioc_gc_range()
and __f2fs_ioc_move_range() (preferably by a separate patch) so that they are

If so, cp-related stuff will be checked redundantly in both f2fs_ioctl() and __f2fs_ioc_xxx() function for native GC_RANGE and MOVE_RANGE ioctls, it's not needed.

Thanks,

done for both the native and compat versions of these ioctls.

- Eric


_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel