From d8d234945c92de36b02e9da13f7eb3fbbb45d4c3 Mon Sep 17 00:00:00 2001 From: Thomas de Zeeuw Date: Thu, 7 Aug 2025 21:36:22 +0200 Subject: [PATCH 1/2] Add additional fields to stax This is accurate for Linux v6.16. --- src/unix/linux_like/mod.rs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/unix/linux_like/mod.rs b/src/unix/linux_like/mod.rs index 6128cecbba5f0..de28ebc9954b5 100644 --- a/src/unix/linux_like/mod.rs +++ b/src/unix/linux_like/mod.rs @@ -267,7 +267,14 @@ cfg_if! { pub stx_mnt_id: crate::__u64, pub stx_dio_mem_align: crate::__u32, pub stx_dio_offset_align: crate::__u32, - __statx_pad3: [crate::__u64; 12], + pub stx_subvol: crate::__u64, + pub stx_atomic_write_unit_min: crate::__u32, + pub stx_atomic_write_unit_max: crate::__u32, + pub stx_atomic_write_segments_max: crate::__u32, + pub stx_dio_read_offset_align: crate::__u32, + pub stx_atomic_write_unit_max_opt: crate::__u32, + __statx_pad2: [crate::__u32; 1], + __statx_pad3: [crate::__u64; 8], } pub struct statx_timestamp { From 442c302020faecf53a7cd624e532fb78bc751b07 Mon Sep 17 00:00:00 2001 From: Thomas de Zeeuw Date: Sat, 9 Aug 2025 09:03:59 +0200 Subject: [PATCH 2/2] Only add fields on Linux Android doesn't have them (yet). --- src/unix/linux_like/mod.rs | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/unix/linux_like/mod.rs b/src/unix/linux_like/mod.rs index de28ebc9954b5..d528df4f101af 100644 --- a/src/unix/linux_like/mod.rs +++ b/src/unix/linux_like/mod.rs @@ -267,14 +267,26 @@ cfg_if! { pub stx_mnt_id: crate::__u64, pub stx_dio_mem_align: crate::__u32, pub stx_dio_offset_align: crate::__u32, + // The following fields are not available on Android as of + // August 6th 2025. + #[cfg(target_os = "linux")] pub stx_subvol: crate::__u64, + #[cfg(target_os = "linux")] pub stx_atomic_write_unit_min: crate::__u32, + #[cfg(target_os = "linux")] pub stx_atomic_write_unit_max: crate::__u32, + #[cfg(target_os = "linux")] pub stx_atomic_write_segments_max: crate::__u32, + #[cfg(target_os = "linux")] pub stx_dio_read_offset_align: crate::__u32, + #[cfg(target_os = "linux")] pub stx_atomic_write_unit_max_opt: crate::__u32, + #[cfg(target_os = "linux")] __statx_pad2: [crate::__u32; 1], + #[cfg(target_os = "linux")] __statx_pad3: [crate::__u64; 8], + #[cfg(not(target_os = "linux"))] + __statx_pad3: [crate::__u64; 12], } pub struct statx_timestamp {