[PATCH] linux-user: Add FIFREEZE and FITHAW ioctls

Michael Vogt posted 1 patch 8 months, 3 weeks ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20240220105726.8852-1-michael.vogt@gmail.com
Maintainers: Laurent Vivier <laurent@vivier.eu>
linux-user/ioctls.h       | 6 ++++++
linux-user/syscall_defs.h | 3 +++
2 files changed, 9 insertions(+)
[PATCH] linux-user: Add FIFREEZE and FITHAW ioctls
Posted by Michael Vogt 8 months, 3 weeks ago
Add missing FIFREEZE and FITHAW ioctls.

Signed-off-by: Michael Vogt <michael.vogt@gmail.com>
---
 linux-user/ioctls.h       | 6 ++++++
 linux-user/syscall_defs.h | 3 +++
 2 files changed, 9 insertions(+)

diff --git a/linux-user/ioctls.h b/linux-user/ioctls.h
index 071f7ca253..1aec9d5836 100644
--- a/linux-user/ioctls.h
+++ b/linux-user/ioctls.h
@@ -134,6 +134,12 @@
      IOCTL(FICLONE, IOC_W, TYPE_INT)
      IOCTL(FICLONERANGE, IOC_W, MK_PTR(MK_STRUCT(STRUCT_file_clone_range)))
 #endif
+#ifdef FIFREEZE
+     IOCTL(FIFREEZE, IOC_W | IOC_R, TYPE_INT)
+#endif
+#ifdef FITHAW
+     IOCTL(FITHAW, IOC_W | IOC_R, TYPE_INT)
+#endif
 
      IOCTL(FIGETBSZ, IOC_R, MK_PTR(TYPE_LONG))
 #ifdef CONFIG_FIEMAP
diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
index 77ba343c85..744fda599e 100644
--- a/linux-user/syscall_defs.h
+++ b/linux-user/syscall_defs.h
@@ -943,6 +943,9 @@ struct target_rtc_pll_info {
 #define TARGET_FICLONE    TARGET_IOW(0x94, 9, abi_int)
 #define TARGET_FICLONERANGE TARGET_IOW(0x94, 13, struct file_clone_range)
 
+#define TARGET_FIFREEZE    TARGET_IOWR('X', 119, abi_int)
+#define TARGET_FITHAW    TARGET_IOWR('X', 120, abi_int)
+
 /*
  * Note that the ioctl numbers for FS_IOC_<GET|SET><FLAGS|VERSION>
  * claim type "long" but the actual type used by the kernel is "int".
-- 
2.43.0
Re: [PATCH] linux-user: Add FIFREEZE and FITHAW ioctls
Posted by Richard Henderson 8 months, 2 weeks ago
On 2/20/24 00:57, Michael Vogt wrote:
> Add missing FIFREEZE and FITHAW ioctls.
> 
> Signed-off-by: Michael Vogt <michael.vogt@gmail.com>
> ---
>   linux-user/ioctls.h       | 6 ++++++
>   linux-user/syscall_defs.h | 3 +++
>   2 files changed, 9 insertions(+)
> 
> diff --git a/linux-user/ioctls.h b/linux-user/ioctls.h
> index 071f7ca253..1aec9d5836 100644
> --- a/linux-user/ioctls.h
> +++ b/linux-user/ioctls.h
> @@ -134,6 +134,12 @@
>        IOCTL(FICLONE, IOC_W, TYPE_INT)
>        IOCTL(FICLONERANGE, IOC_W, MK_PTR(MK_STRUCT(STRUCT_file_clone_range)))
>   #endif
> +#ifdef FIFREEZE
> +     IOCTL(FIFREEZE, IOC_W | IOC_R, TYPE_INT)
> +#endif
> +#ifdef FITHAW
> +     IOCTL(FITHAW, IOC_W | IOC_R, TYPE_INT)
> +#endif

I suspect these are old enough that they should be unconditionally available.
However, quite a lot of the ioctls here are in the same boat, and it's not worth quibbling.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>

Applied to lu-next.


r~
Re: [PATCH] linux-user: Add FIFREEZE and FITHAW ioctls
Posted by Daniel P. Berrangé 8 months, 3 weeks ago
Adding the linux-user maintainer to the CC list

On Tue, Feb 20, 2024 at 11:57:21AM +0100, Michael Vogt wrote:
> Add missing FIFREEZE and FITHAW ioctls.
> 
> Signed-off-by: Michael Vogt <michael.vogt@gmail.com>
> ---
>  linux-user/ioctls.h       | 6 ++++++
>  linux-user/syscall_defs.h | 3 +++
>  2 files changed, 9 insertions(+)

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>

> 
> diff --git a/linux-user/ioctls.h b/linux-user/ioctls.h
> index 071f7ca253..1aec9d5836 100644
> --- a/linux-user/ioctls.h
> +++ b/linux-user/ioctls.h
> @@ -134,6 +134,12 @@
>       IOCTL(FICLONE, IOC_W, TYPE_INT)
>       IOCTL(FICLONERANGE, IOC_W, MK_PTR(MK_STRUCT(STRUCT_file_clone_range)))
>  #endif
> +#ifdef FIFREEZE
> +     IOCTL(FIFREEZE, IOC_W | IOC_R, TYPE_INT)
> +#endif
> +#ifdef FITHAW
> +     IOCTL(FITHAW, IOC_W | IOC_R, TYPE_INT)
> +#endif
>  
>       IOCTL(FIGETBSZ, IOC_R, MK_PTR(TYPE_LONG))
>  #ifdef CONFIG_FIEMAP
> diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
> index 77ba343c85..744fda599e 100644
> --- a/linux-user/syscall_defs.h
> +++ b/linux-user/syscall_defs.h
> @@ -943,6 +943,9 @@ struct target_rtc_pll_info {
>  #define TARGET_FICLONE    TARGET_IOW(0x94, 9, abi_int)
>  #define TARGET_FICLONERANGE TARGET_IOW(0x94, 13, struct file_clone_range)
>  
> +#define TARGET_FIFREEZE    TARGET_IOWR('X', 119, abi_int)
> +#define TARGET_FITHAW    TARGET_IOWR('X', 120, abi_int)
> +
>  /*
>   * Note that the ioctl numbers for FS_IOC_<GET|SET><FLAGS|VERSION>
>   * claim type "long" but the actual type used by the kernel is "int".

> -- 
> 2.43.0
> 
> 

With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|