[PATCH] linux-user: update statx emulation

Andreas Schwab posted 1 patch 5 days, 12 hours ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/mvmwm2xum6n.fsf@suse.de
Maintainers: Laurent Vivier <laurent@vivier.eu>
linux-user/syscall.c      | 3 +++
linux-user/syscall_defs.h | 6 +++++-
2 files changed, 8 insertions(+), 1 deletion(-)
[PATCH] linux-user: update statx emulation
Posted by Andreas Schwab 5 days, 12 hours ago
Signed-off-by: Andreas Schwab <schwab@suse.de>
---
 linux-user/syscall.c      | 3 +++
 linux-user/syscall_defs.h | 6 +++++-
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index e379ddb1b7..248c5b5f7c 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -8049,6 +8049,9 @@ static inline abi_long host_to_target_statx(struct target_statx *host_stx,
     __put_user(host_stx->stx_rdev_minor, &target_stx->stx_rdev_minor);
     __put_user(host_stx->stx_dev_major, &target_stx->stx_dev_major);
     __put_user(host_stx->stx_dev_minor, &target_stx->stx_dev_minor);
+    __put_user(host_stx->stx_mnt_id, &target_stx->stx_mnt_id);
+    __put_user(host_stx->stx_dio_mem_align, &target_stx->stx_dio_mem_align);
+    __put_user(host_stx->stx_dio_offset_align, &target_stx->stx_dio_offset_align);
 
     unlock_user_struct(target_stx, target_addr, 1);
 
diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
index cd9ff709b8..6ae6e1fa13 100644
--- a/linux-user/syscall_defs.h
+++ b/linux-user/syscall_defs.h
@@ -2734,7 +2734,11 @@ struct target_statx {
     abi_uint stx_dev_major; /* ID of device containing file [uncond] */
     abi_uint stx_dev_minor;
     /* 0x90 */
-    abi_ullong __spare2[14]; /* Spare space for future expansion */
+    abi_ullong stx_mnt_id;
+    abi_uint stx_dio_mem_align;
+    abi_uint stx_dio_offset_align;
+    /* 0xa0 */
+    abi_ullong __spare2[12]; /* Spare space for future expansion */
     /* 0x100 */
 };
 
-- 
2.52.0


-- 
Andreas Schwab, SUSE Labs, schwab@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."
Re: [PATCH] linux-user: update statx emulation
Posted by Laurent Vivier 5 days, 11 hours ago
Hi Andreas,

On Mon, 08 Dec 2025 14:40:00 +0100 Andreas Schwab wrote:
> Signed-off-by: Andreas Schwab <schwab@suse.de>
> ---
>  linux-user/syscall.c      | 3 +++
>  linux-user/syscall_defs.h | 6 +++++-
>  2 files changed, 8 insertions(+), 1 deletion(-)
>
> diff --git a/linux-user/syscall.c b/linux-user/syscall.c
> index e379ddb1b7..248c5b5f7c 100644
> --- a/linux-user/syscall.c
> +++ b/linux-user/syscall.c
> @@ -8049,6 +8049,9 @@ static inline abi_long host_to_target_statx(struct target_statx *host_stx,
>      __put_user(host_stx->stx_rdev_minor, &target_stx->stx_rdev_minor);
>      __put_user(host_stx->stx_dev_major, &target_stx->stx_dev_major);
>      __put_user(host_stx->stx_dev_minor, &target_stx->stx_dev_minor);
> +    __put_user(host_stx->stx_mnt_id, &target_stx->stx_mnt_id);
> +    __put_user(host_stx->stx_dio_mem_align, &target_stx->stx_dio_mem_align);
> +    __put_user(host_stx->stx_dio_offset_align, &target_stx->stx_dio_offset_align);
>  
>      unlock_user_struct(target_stx, target_addr, 1);
>  
> diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
> index cd9ff709b8..6ae6e1fa13 100644
> --- a/linux-user/syscall_defs.h
> +++ b/linux-user/syscall_defs.h
> @@ -2734,7 +2734,11 @@ struct target_statx {
>      abi_uint stx_dev_major; /* ID of device containing file [uncond] */
>      abi_uint stx_dev_minor;
>      /* 0x90 */
> -    abi_ullong __spare2[14]; /* Spare space for future expansion */
> +    abi_ullong stx_mnt_id;
> +    abi_uint stx_dio_mem_align;
> +    abi_uint stx_dio_offset_align;
> +    /* 0xa0 */
> +    abi_ullong __spare2[12]; /* Spare space for future expansion */
>      /* 0x100 */
>  };

Reviewed-by: Laurent Vivier <laurent@vivier.eu>