Skip to content

Commit 436a38b

Browse files
committed
Update statx to Linux 6.11
1 parent d0467e6 commit 436a38b

File tree

4 files changed

+21
-9
lines changed

4 files changed

+21
-9
lines changed

src/backend/libc/c.rs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -494,14 +494,15 @@ pub(super) use readwrite_pv64v2::{preadv64v2 as preadv2, pwritev64v2 as pwritev2
494494
mod statx_flags {
495495
pub(crate) use linux_raw_sys::general::{
496496
STATX_ALL, STATX_ATIME, STATX_BASIC_STATS, STATX_BLOCKS, STATX_BTIME, STATX_CTIME,
497-
STATX_DIOALIGN, STATX_GID, STATX_INO, STATX_MNT_ID, STATX_MODE, STATX_MTIME, STATX_NLINK,
498-
STATX_SIZE, STATX_TYPE, STATX_UID,
497+
STATX_DIOALIGN, STATX_GID, STATX_INO, STATX_MNT_ID, STATX_MNT_ID_UNIQUE, STATX_MODE,
498+
STATX_MTIME, STATX_NLINK, STATX_SIZE, STATX_SUBVOL, STATX_TYPE, STATX_UID,
499+
STATX_WRITE_ATOMIC,
499500
};
500501

501502
pub(crate) use linux_raw_sys::general::{
502503
STATX_ATTR_APPEND, STATX_ATTR_AUTOMOUNT, STATX_ATTR_COMPRESSED, STATX_ATTR_DAX,
503504
STATX_ATTR_ENCRYPTED, STATX_ATTR_IMMUTABLE, STATX_ATTR_MOUNT_ROOT, STATX_ATTR_NODUMP,
504-
STATX_ATTR_VERITY,
505+
STATX_ATTR_VERITY, STATX_ATTR_WRITE_ATOMIC,
505506
};
506507
}
507508
#[cfg(feature = "fs")]

src/backend/linux_raw/c.rs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -357,14 +357,15 @@ pub(crate) use reboot_symbols::*;
357357
mod statx_flags {
358358
pub(crate) use linux_raw_sys::general::{
359359
STATX_ALL, STATX_ATIME, STATX_BASIC_STATS, STATX_BLOCKS, STATX_BTIME, STATX_CTIME,
360-
STATX_DIOALIGN, STATX_GID, STATX_INO, STATX_MNT_ID, STATX_MODE, STATX_MTIME, STATX_NLINK,
361-
STATX_SIZE, STATX_TYPE, STATX_UID,
360+
STATX_DIOALIGN, STATX_GID, STATX_INO, STATX_MNT_ID, STATX_MNT_ID_UNIQUE, STATX_MODE,
361+
STATX_MTIME, STATX_NLINK, STATX_SIZE, STATX_SUBVOL, STATX_TYPE, STATX_UID,
362+
STATX_WRITE_ATOMIC,
362363
};
363364

364365
pub(crate) use linux_raw_sys::general::{
365366
STATX_ATTR_APPEND, STATX_ATTR_AUTOMOUNT, STATX_ATTR_COMPRESSED, STATX_ATTR_DAX,
366367
STATX_ATTR_ENCRYPTED, STATX_ATTR_IMMUTABLE, STATX_ATTR_MOUNT_ROOT, STATX_ATTR_NODUMP,
367-
STATX_ATTR_VERITY,
368+
STATX_ATTR_VERITY, STATX_ATTR_WRITE_ATOMIC,
368369
};
369370
}
370371
#[cfg(any(

src/fs/constants.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -347,8 +347,6 @@ mod tests {
347347
#[cfg(not(libc))] // not in libc yet
348348
check_renamed_struct_field!(Statx, statx, stx_atomic_write_segments_max);
349349
#[cfg(linux_raw)]
350-
check_renamed_struct_field!(Statx, statx, __spare1);
351-
#[cfg(linux_raw)]
352350
check_renamed_struct_field!(Statx, statx, __spare3);
353351
}
354352
}

src/fs/statx.rs

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ pub struct Statx {
4444
pub stx_atomic_write_unit_min: u32,
4545
pub stx_atomic_write_unit_max: u32,
4646
pub stx_atomic_write_segments_max: u32,
47-
pub(crate) __spare1: [u32; 1],
47+
pub stx_dio_read_offset_align: u32,
4848
pub(crate) __spare3: [u64; 9],
4949
}
5050

@@ -114,6 +114,15 @@ bitflags! {
114114
/// `STATX_DIOALIGN` (since Linux 6.1)
115115
const DIOALIGN = c::STATX_DIOALIGN;
116116

117+
/// `STATX_MNT_ID_UNIQUE` (since Linux 6.8)
118+
const MNT_ID_UNIQUE = c::STATX_MNT_ID_UNIQUE;
119+
120+
/// `STATX_SUBVOL` (since Linux 6.10)
121+
const SUBVOL = c::STATX_SUBVOL;
122+
123+
/// `STATX_WRITE_ATOMIC ` (since Linux 6.11)
124+
const WRITE_ATOMIC = c::STATX_WRITE_ATOMIC;
125+
117126
/// `STATX_ALL`
118127
const ALL = c::STATX_ALL;
119128

@@ -154,6 +163,9 @@ bitflags! {
154163
/// `STATX_ATTR_DAX`
155164
const DAX = c::STATX_ATTR_DAX as u64;
156165

166+
/// `STATX_ATTR_WRITE_ATOMIC`
167+
const WRITE_ATOMIC = c::STATX_ATTR_WRITE_ATOMIC as u64;
168+
157169
/// <https://docs.rs/bitflags/*/bitflags/#externally-defined-flags>
158170
const _ = !0;
159171
}

0 commit comments

Comments
 (0)