pub struct StatXAttr(/* private fields */);
Expand description
A set of ORed flags that indicate additional attributes of the file. Note that any attribute that is not indicated as supported by stx_attributes_mask has no usable value here. The bits in stx_attributes_mask correspond bit-by-bit to stx_attributes.
Implementations§
Source§impl StatXAttr
impl StatXAttr
Sourcepub const COMPRESSED: Self
pub const COMPRESSED: Self
The file is compressed by the filesystem and may take extra resources to access
Sourcepub const IMMUTABLE: Self
pub const IMMUTABLE: Self
The file cannot be modified: it cannot be deleted or renamed, no hard links can be created to this file and no data can be written to it. See chattr(1).
Sourcepub const APPEND: Self
pub const APPEND: Self
The file can only be opened in append mode for writing. Random access writing is not permitted. See chattr(1).
Sourcepub const NODUMP: Self
pub const NODUMP: Self
File is not a candidate for backup when a backup program such as dump(8) is run. See chattr(1).
pub const AUTOMOUNT: Self
pub const MOUNT_ROOT: Self
Sourcepub const VERITY: Self
pub const VERITY: Self
The file has fs-verity enabled. It cannot be written to, and all reads from it will be verified against a cryptographic hash that covers the entire file (e.g., via a Merkle tree).
Sourcepub const DAX: Self
pub const DAX: Self
The file is in the DAX (cpu direct access) state. DAX state attempts to minimize software cache effects for both I/O and memory mappings of this file. It requires a file system which has been configured to support DAX.
DAX generally assumes all accesses are via CPU load / store instructions which can minimize overhead for small accesses, but may adversely affect CPU utilization for large transfers.
File I/O is done directly to/from user-space buffers and memory mapped I/O may be performed with direct memory mappings that bypass the kernel page cache.
While the DAX property tends to result in data being transferred synchronously, it does not give the same guarantees as the O_SYNC flag (see open(2)), where data and the necessary metadata are transferred together.
A DAX file may support being mapped with the MAP_SYNC flag, which enables a program to use CPU cache flush instructions to persist CPU store operations without an explicit fsync(2). See mmap(2) for more information
pub const fn empty() -> Self
pub const fn all() -> Self
pub const fn from_bits(bits: u64) -> Self
pub const fn bits(&self) -> u64
pub const fn contains(&self, other: Self) -> bool
pub fn remove(&mut self, other: Self)
pub fn insert(&mut self, other: Self)
pub fn toggle(&mut self, other: Self)
Trait Implementations§
Source§impl BitAndAssign<u64> for StatXAttr
impl BitAndAssign<u64> for StatXAttr
Source§fn bitand_assign(&mut self, rhs: u64)
fn bitand_assign(&mut self, rhs: u64)
&=
operation. Read moreSource§impl BitAndAssign for StatXAttr
impl BitAndAssign for StatXAttr
Source§fn bitand_assign(&mut self, rhs: Self)
fn bitand_assign(&mut self, rhs: Self)
&=
operation. Read moreSource§impl BitOrAssign<u64> for StatXAttr
impl BitOrAssign<u64> for StatXAttr
Source§fn bitor_assign(&mut self, rhs: u64)
fn bitor_assign(&mut self, rhs: u64)
|=
operation. Read moreSource§impl BitOrAssign for StatXAttr
impl BitOrAssign for StatXAttr
Source§fn bitor_assign(&mut self, rhs: Self)
fn bitor_assign(&mut self, rhs: Self)
|=
operation. Read more