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
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~
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 :|
© 2016 - 2026 Red Hat, Inc.