[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v5 12/20] linux-user: Add support for FS_IOC_FS<GET|SET>XATTR ioc
From: |
Aleksandar Markovic |
Subject: |
[PATCH v5 12/20] linux-user: Add support for FS_IOC_FS<GET|SET>XATTR ioctls |
Date: |
Mon, 13 Jan 2020 21:34:35 +0100 |
From: Aleksandar Markovic <address@hidden>
Both FS_IOC_FSGETXATTR and FS_IOC_FSSETXATTR accept a pointer to
the structure
struct file_clone_range {
__s64 src_fd;
__u64 src_offset;
__u64 src_length;
__u64 dest_offset;
};
as their third argument.
These ioctls were relatively recently introduced, so the "#ifdef"
guards are used in this implementation.
Signed-off-by: Aleksandar Markovic <address@hidden>
---
linux-user/ioctls.h | 7 +++++++
linux-user/syscall_defs.h | 2 ++
2 files changed, 9 insertions(+)
diff --git a/linux-user/ioctls.h b/linux-user/ioctls.h
index 3affd88..e1b89a7 100644
--- a/linux-user/ioctls.h
+++ b/linux-user/ioctls.h
@@ -144,6 +144,13 @@
IOCTL(FS_IOC32_SETFLAGS, IOC_W, MK_PTR(TYPE_INT))
IOCTL(FS_IOC32_GETVERSION, IOC_R, MK_PTR(TYPE_INT))
IOCTL(FS_IOC32_SETVERSION, IOC_W, MK_PTR(TYPE_INT))
+#ifdef FS_IOC_FSGETXATTR
+ IOCTL(FS_IOC_FSGETXATTR, IOC_W, MK_PTR(MK_STRUCT(STRUCT_fsxattr)))
+#endif
+#ifdef FS_IOC_FSSETXATTR
+ IOCTL(FS_IOC_FSSETXATTR, IOC_W, MK_PTR(MK_STRUCT(STRUCT_fsxattr)))
+#endif
+
#ifdef CONFIG_USBFS
/* USB ioctls */
diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
index a73cc3d..12cd3de 100644
--- a/linux-user/syscall_defs.h
+++ b/linux-user/syscall_defs.h
@@ -924,6 +924,8 @@ struct target_pollfd {
#define TARGET_FS_IOC32_SETFLAGS TARGET_IOW('f', 2, int)
#define TARGET_FS_IOC32_GETVERSION TARGET_IOR('v', 1, int)
#define TARGET_FS_IOC32_SETVERSION TARGET_IOW('v', 2, int)
+#define TARGET_FS_IOC_FSGETXATTR TARGET_IOR('X', 31, struct file_clone_range)
+#define TARGET_FS_IOC_FSSETXATTR TARGET_IOR('X', 32, struct file_clone_range)
/* usb ioctls */
#define TARGET_USBDEVFS_CONTROL TARGET_IOWRU('U', 0)
--
2.7.4
- [PATCH v5 01/20] linux-user: Fix some constants in termbits.h, (continued)
- [PATCH v5 01/20] linux-user: Fix some constants in termbits.h, Aleksandar Markovic, 2020/01/13
- [PATCH v5 02/20] linux-user: alpha: Update syscall numbers to kernel 5.5 rc3 level, Aleksandar Markovic, 2020/01/13
- [PATCH v5 08/20] linux-user: xtensa: Remove unused constant TARGET_NR_syscall_count, Aleksandar Markovic, 2020/01/13
- [PATCH v5 10/20] linux-user: Add support for FS_IOC32_<GET|SET>FLAGS ioctls, Aleksandar Markovic, 2020/01/13
- [PATCH v5 09/20] linux-user: Add support for FS_IOC_<GET|SET>VERSION ioctls, Aleksandar Markovic, 2020/01/13
- [PATCH v5 12/20] linux-user: Add support for FS_IOC_FS<GET|SET>XATTR ioctls,
Aleksandar Markovic <=
- [PATCH v5 11/20] linux-user: Add support for FS_IOC32_<GET|SET>VERSION ioctls, Aleksandar Markovic, 2020/01/13
- [PATCH v5 14/20] linux-user: Add support for FIFREEZE and FITHAW ioctls, Aleksandar Markovic, 2020/01/13
- [PATCH v5 13/20] linux-user: Add support for FITRIM ioctl, Aleksandar Markovic, 2020/01/13
- [PATCH v5 15/20] linux-user: Add support for FD<SETEMSGTRESH|SETMAXERRS|GETMAXERRS> ioctls, Aleksandar Markovic, 2020/01/13
- [PATCH v5 16/20] linux-user: Add support for FDFMT<BEG|TRK|END> ioctls, Aleksandar Markovic, 2020/01/13