From 4defb6988640cc2da76d2208cce930fae6488341 Mon Sep 17 00:00:00 2001 From: ginnyTheCat Date: Fri, 23 May 2025 22:48:28 +0200 Subject: [PATCH 1/2] Update statx to Linux 6.11 --- src/backend/libc/c.rs | 7 ++++--- src/backend/linux_raw/c.rs | 7 ++++--- src/fs/statx.rs | 12 ++++++++++++ 3 files changed, 20 insertions(+), 6 deletions(-) diff --git a/src/backend/libc/c.rs b/src/backend/libc/c.rs index e5bc61e25..0b3ebe4cf 100644 --- a/src/backend/libc/c.rs +++ b/src/backend/libc/c.rs @@ -488,14 +488,15 @@ pub(super) use readwrite_pv64v2::{preadv64v2 as preadv2, pwritev64v2 as pwritev2 mod statx_flags { pub(crate) use linux_raw_sys::general::{ STATX_ALL, STATX_ATIME, STATX_BASIC_STATS, STATX_BLOCKS, STATX_BTIME, STATX_CTIME, - STATX_DIOALIGN, STATX_GID, STATX_INO, STATX_MNT_ID, STATX_MODE, STATX_MTIME, STATX_NLINK, - STATX_SIZE, STATX_TYPE, STATX_UID, + STATX_DIOALIGN, STATX_GID, STATX_INO, STATX_MNT_ID, STATX_MNT_ID_UNIQUE, STATX_MODE, + STATX_MTIME, STATX_NLINK, STATX_SIZE, STATX_SUBVOL, STATX_TYPE, STATX_UID, + STATX_WRITE_ATOMIC, }; pub(crate) use linux_raw_sys::general::{ STATX_ATTR_APPEND, STATX_ATTR_AUTOMOUNT, STATX_ATTR_COMPRESSED, STATX_ATTR_DAX, STATX_ATTR_ENCRYPTED, STATX_ATTR_IMMUTABLE, STATX_ATTR_MOUNT_ROOT, STATX_ATTR_NODUMP, - STATX_ATTR_VERITY, + STATX_ATTR_VERITY, STATX_ATTR_WRITE_ATOMIC, }; } #[cfg(feature = "fs")] diff --git a/src/backend/linux_raw/c.rs b/src/backend/linux_raw/c.rs index 762cdd479..42148208d 100644 --- a/src/backend/linux_raw/c.rs +++ b/src/backend/linux_raw/c.rs @@ -373,14 +373,15 @@ pub(crate) use reboot_symbols::*; mod statx_flags { pub(crate) use linux_raw_sys::general::{ STATX_ALL, STATX_ATIME, STATX_BASIC_STATS, STATX_BLOCKS, STATX_BTIME, STATX_CTIME, - STATX_DIOALIGN, STATX_GID, STATX_INO, STATX_MNT_ID, STATX_MODE, STATX_MTIME, STATX_NLINK, - STATX_SIZE, STATX_TYPE, STATX_UID, + STATX_DIOALIGN, STATX_GID, STATX_INO, STATX_MNT_ID, STATX_MNT_ID_UNIQUE, STATX_MODE, + STATX_MTIME, STATX_NLINK, STATX_SIZE, STATX_SUBVOL, STATX_TYPE, STATX_UID, + STATX_WRITE_ATOMIC, }; pub(crate) use linux_raw_sys::general::{ STATX_ATTR_APPEND, STATX_ATTR_AUTOMOUNT, STATX_ATTR_COMPRESSED, STATX_ATTR_DAX, STATX_ATTR_ENCRYPTED, STATX_ATTR_IMMUTABLE, STATX_ATTR_MOUNT_ROOT, STATX_ATTR_NODUMP, - STATX_ATTR_VERITY, + STATX_ATTR_VERITY, STATX_ATTR_WRITE_ATOMIC, }; } #[cfg(any( diff --git a/src/fs/statx.rs b/src/fs/statx.rs index f8be29f7d..86740a489 100644 --- a/src/fs/statx.rs +++ b/src/fs/statx.rs @@ -116,6 +116,15 @@ bitflags! { /// `STATX_DIOALIGN` (since Linux 6.1) const DIOALIGN = c::STATX_DIOALIGN; + /// `STATX_MNT_ID_UNIQUE` (since Linux 6.8) + const MNT_ID_UNIQUE = c::STATX_MNT_ID_UNIQUE; + + /// `STATX_SUBVOL` (since Linux 6.10) + const SUBVOL = c::STATX_SUBVOL; + + /// `STATX_WRITE_ATOMIC ` (since Linux 6.11) + const WRITE_ATOMIC = c::STATX_WRITE_ATOMIC; + /// `STATX_ALL` const ALL = c::STATX_ALL; @@ -156,6 +165,9 @@ bitflags! { /// `STATX_ATTR_DAX` const DAX = c::STATX_ATTR_DAX as u64; + /// `STATX_ATTR_WRITE_ATOMIC` + const WRITE_ATOMIC = c::STATX_ATTR_WRITE_ATOMIC as u64; + /// const _ = !0; } From 2d29098cede3a71c2c0d6ba60f7efbf5cf4c55fb Mon Sep 17 00:00:00 2001 From: ginnyTheCat Date: Fri, 27 Jun 2025 00:04:05 +0200 Subject: [PATCH 2/2] Update statx to Linux 6.14 --- src/backend/libc/c.rs | 6 +++--- src/backend/linux_raw/c.rs | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/backend/libc/c.rs b/src/backend/libc/c.rs index 0b3ebe4cf..617a93abd 100644 --- a/src/backend/libc/c.rs +++ b/src/backend/libc/c.rs @@ -488,9 +488,9 @@ pub(super) use readwrite_pv64v2::{preadv64v2 as preadv2, pwritev64v2 as pwritev2 mod statx_flags { pub(crate) use linux_raw_sys::general::{ STATX_ALL, STATX_ATIME, STATX_BASIC_STATS, STATX_BLOCKS, STATX_BTIME, STATX_CTIME, - STATX_DIOALIGN, STATX_GID, STATX_INO, STATX_MNT_ID, STATX_MNT_ID_UNIQUE, STATX_MODE, - STATX_MTIME, STATX_NLINK, STATX_SIZE, STATX_SUBVOL, STATX_TYPE, STATX_UID, - STATX_WRITE_ATOMIC, + STATX_DIOALIGN, STATX_DIO_READ_ALIGN, STATX_GID, STATX_INO, STATX_MNT_ID, + STATX_MNT_ID_UNIQUE, STATX_MODE, STATX_MTIME, STATX_NLINK, STATX_SIZE, STATX_SUBVOL, + STATX_TYPE, STATX_UID, STATX_WRITE_ATOMIC, }; pub(crate) use linux_raw_sys::general::{ diff --git a/src/backend/linux_raw/c.rs b/src/backend/linux_raw/c.rs index 42148208d..b604b421b 100644 --- a/src/backend/linux_raw/c.rs +++ b/src/backend/linux_raw/c.rs @@ -373,9 +373,9 @@ pub(crate) use reboot_symbols::*; mod statx_flags { pub(crate) use linux_raw_sys::general::{ STATX_ALL, STATX_ATIME, STATX_BASIC_STATS, STATX_BLOCKS, STATX_BTIME, STATX_CTIME, - STATX_DIOALIGN, STATX_GID, STATX_INO, STATX_MNT_ID, STATX_MNT_ID_UNIQUE, STATX_MODE, - STATX_MTIME, STATX_NLINK, STATX_SIZE, STATX_SUBVOL, STATX_TYPE, STATX_UID, - STATX_WRITE_ATOMIC, + STATX_DIOALIGN, STATX_DIO_READ_ALIGN, STATX_GID, STATX_INO, STATX_MNT_ID, + STATX_MNT_ID_UNIQUE, STATX_MODE, STATX_MTIME, STATX_NLINK, STATX_SIZE, STATX_SUBVOL, + STATX_TYPE, STATX_UID, STATX_WRITE_ATOMIC, }; pub(crate) use linux_raw_sys::general::{