[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2 2/4] linux-user: Add support for FITRIM ioctl
From: |
Laurent Vivier |
Subject: |
Re: [PATCH v2 2/4] linux-user: Add support for FITRIM ioctl |
Date: |
Tue, 18 Feb 2020 21:53:06 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.4.1 |
Le 24/01/2020 à 16:47, Aleksandar Markovic a écrit :
> From: Aleksandar Markovic <address@hidden>
>
> FITRIM ioctl accepts a pointer to the structure
>
> struct fstrim_range {
> __u64 start;
> __u64 len;
> __u64 minlen;
> };
>
> as its third argument.
>
> All ioctls in this group (FI* ioctl) are guarded with "#ifdef", so the
> guards are used in this implementation too for consistency (however,
> many of ioctls in FI* group became old enough that their #ifdef guards
> could be removed, bit this is out of the scope of this patch).
>
> Signed-off-by: Aleksandar Markovic <address@hidden>
> ---
> linux-user/ioctls.h | 3 +++
> linux-user/syscall_defs.h | 1 +
> linux-user/syscall_types.h | 5 +++++
> 3 files changed, 9 insertions(+)
>
> diff --git a/linux-user/ioctls.h b/linux-user/ioctls.h
> index 9fb9d6f..944fbeb 100644
> --- a/linux-user/ioctls.h
> +++ b/linux-user/ioctls.h
> @@ -152,6 +152,9 @@
> #ifdef FIBMAP
> IOCTL(FIBMAP, IOC_W | IOC_R, MK_PTR(TYPE_LONG))
> #endif
> +#ifdef FITRIM
> + IOCTL(FITRIM, IOC_W | IOC_R, MK_PTR(MK_STRUCT(STRUCT_fstrim_range)))
> +#endif
> #ifdef FICLONE
> IOCTL(FICLONE, IOC_W, TYPE_INT)
> IOCTL(FICLONERANGE, IOC_W, MK_PTR(MK_STRUCT(STRUCT_file_clone_range)))
> diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
> index ed5068f..8761841 100644
> --- a/linux-user/syscall_defs.h
> +++ b/linux-user/syscall_defs.h
> @@ -950,6 +950,7 @@ struct target_rtc_pll_info {
> #define TARGET_FIBMAP TARGET_IO(0x00,1) /* bmap access */
> #define TARGET_FIGETBSZ TARGET_IO(0x00,2) /* get the block size used for
> bmap */
>
> +#define TARGET_FITRIM TARGET_IOWR('X', 121, struct fstrim_range)
> #define TARGET_FICLONE TARGET_IOW(0x94, 9, int)
> #define TARGET_FICLONERANGE TARGET_IOW(0x94, 13, struct file_clone_range)
>
> diff --git a/linux-user/syscall_types.h b/linux-user/syscall_types.h
> index 5ba4155..dfd7608 100644
> --- a/linux-user/syscall_types.h
> +++ b/linux-user/syscall_types.h
> @@ -226,6 +226,11 @@ STRUCT(dm_target_versions,
> STRUCT(dm_target_msg,
> TYPE_ULONGLONG) /* sector */
>
> +STRUCT(fstrim_range,
> + TYPE_LONGLONG, /* start */
> + TYPE_LONGLONG, /* len */
> + TYPE_LONGLONG) /* minlen */
they are __u64, use TYPE_ULONGLONG.
With that changed, you can add my:
Reviewed-by: Laurent Vivier <address@hidden>
- Re: [PATCH v2 2/4] linux-user: Add support for FITRIM ioctl,
Laurent Vivier <=