Struct sys_mount::MountFlags
source · pub struct MountFlags(/* private fields */);
Expand description
Flags which may be specified when mounting a file system.
Implementations§
source§impl MountFlags
impl MountFlags
sourcepub const BIND: Self = _
pub const BIND: Self = _
Perform a bind mount, making a file or a directory subtree visible at another point within a file system. Bind mounts may cross file system boundaries and span chroot(2) jails. The filesystemtype and data arguments are ignored. Up until Linux 2.6.26, mountflags was also ignored (the bind mount has the same mount options as the underlying mount point).
sourcepub const DIRSYNC: Self = _
pub const DIRSYNC: Self = _
Make directory changes on this file system synchronous.(This property can be obtained for individual directories or subtrees using chattr(1).)
sourcepub const MANDLOCK: Self = _
pub const MANDLOCK: Self = _
Permit mandatory locking on files in this file system. (Mandatory locking must still be enabled on a per-file basis, as described in fcntl(2).)
sourcepub const MOVE: Self = _
pub const MOVE: Self = _
Move a subtree. source specifies an existing mount point and target specifies the new location. The move is atomic: at no point is the subtree unmounted. The filesystemtype, mountflags, and data arguments are ignored.
sourcepub const NOATIME: Self = _
pub const NOATIME: Self = _
Do not update access times for (all types of) files on this file system.
sourcepub const NODIRATIME: Self = _
pub const NODIRATIME: Self = _
Do not update access times for directories on this file system. This flag provides a subset of the functionality provided by MS_NOATIME; that is, MS_NOATIME implies MS_NODIRATIME.
sourcepub const NOSUID: Self = _
pub const NOSUID: Self = _
Do not honor set-user-ID and set-group-ID bits when executing programs from this file system.
sourcepub const REC: Self = _
pub const REC: Self = _
Used in conjunction with MS_BIND to create a recursive bind mount, and in conjunction with the propagation type flags to recursively change the propagation type of all of the mounts in a subtree.
sourcepub const RELATIME: Self = _
pub const RELATIME: Self = _
When a file on this file system is accessed, only update the file’s last access time (atime) if the current value of atime is less than or equal to the file’s last modification time (mtime) or last status change time (ctime). This option is useful for programs, such as mutt(1), that need to know when a file has been read since it was last modified. Since Linux 2.6.30, the kernel defaults to the behavior provided by this flag (unless MS_NOATIME was specified), and the MS_STRICTATIME flag is required to obtain traditional semantics. In addition, since Linux 2.6.30, the file’s last access time is always updated if it is more than 1 day old.
sourcepub const REMOUNT: Self = _
pub const REMOUNT: Self = _
Remount an existing mount. This allows you to change the mountflags and data of an existing mount without having to unmount and remount the file system. target should be the same value specified in the initial mount() call; source and filesystemtype are ignored.
The following mountflags can be changed: MS_RDONLY, MS_SYNCHRONOUS, MS_MANDLOCK; before kernel 2.6.16, the following could also be changed: MS_NOATIME and MS_NODIRATIME; and, additionally, before kernel 2.4.10, the following could also be changed: MS_NOSUID, MS_NODEV, MS_NOEXEC.
sourcepub const SILENT: Self = _
pub const SILENT: Self = _
Suppress the display of certain (printk()) warning messages in the kernel log. This flag supersedes the misnamed and obsolete MS_VERBOSE flag (available since Linux 2.4.12), which has the same meaning.
sourcepub const STRICTATIME: Self = _
pub const STRICTATIME: Self = _
Always update the last access time (atime) when files on this file system are accessed. (This was the default behavior before Linux 2.6.30.) Specifying this flag overrides the effect of setting the MS_NOATIME and MS_RELATIME flags.
sourcepub const SYNCHRONOUS: Self = _
pub const SYNCHRONOUS: Self = _
Make writes on this file system synchronous (as though the O_SYNC flag to open(2) was specified for all file opens to this file system).
source§impl MountFlags
impl MountFlags
sourcepub const fn bits(&self) -> c_ulong
pub const fn bits(&self) -> c_ulong
Get the underlying bits value.
The returned value is exactly the bits set in this flags value.
sourcepub const fn from_bits(bits: c_ulong) -> Option<Self>
pub const fn from_bits(bits: c_ulong) -> Option<Self>
Convert from a bits value.
This method will return None
if any unknown bits are set.
sourcepub const fn from_bits_truncate(bits: c_ulong) -> Self
pub const fn from_bits_truncate(bits: c_ulong) -> Self
Convert from a bits value, unsetting any unknown bits.
sourcepub const fn from_bits_retain(bits: c_ulong) -> Self
pub const fn from_bits_retain(bits: c_ulong) -> Self
Convert from a bits value exactly.
sourcepub fn from_name(name: &str) -> Option<Self>
pub fn from_name(name: &str) -> Option<Self>
Get a flags value with the bits of a flag with the given name set.
This method will return None
if name
is empty or doesn’t
correspond to any named flag.
sourcepub const fn intersects(&self, other: Self) -> bool
pub const fn intersects(&self, other: Self) -> bool
Whether any set bits in a source flags value are also set in a target flags value.
sourcepub const fn contains(&self, other: Self) -> bool
pub const fn contains(&self, other: Self) -> bool
Whether all set bits in a source flags value are also set in a target flags value.
sourcepub fn remove(&mut self, other: Self)
pub fn remove(&mut self, other: Self)
The intersection of a source flags value with the complement of a target flags value (&!
).
This method is not equivalent to self & !other
when other
has unknown bits set.
remove
won’t truncate other
, but the !
operator will.
sourcepub fn toggle(&mut self, other: Self)
pub fn toggle(&mut self, other: Self)
The bitwise exclusive-or (^
) of the bits in two flags values.
sourcepub fn set(&mut self, other: Self, value: bool)
pub fn set(&mut self, other: Self, value: bool)
Call insert
when value
is true
or remove
when value
is false
.
sourcepub const fn intersection(self, other: Self) -> Self
pub const fn intersection(self, other: Self) -> Self
The bitwise and (&
) of the bits in two flags values.
sourcepub const fn union(self, other: Self) -> Self
pub const fn union(self, other: Self) -> Self
The bitwise or (|
) of the bits in two flags values.
sourcepub const fn difference(self, other: Self) -> Self
pub const fn difference(self, other: Self) -> Self
The intersection of a source flags value with the complement of a target flags value (&!
).
This method is not equivalent to self & !other
when other
has unknown bits set.
difference
won’t truncate other
, but the !
operator will.
sourcepub const fn symmetric_difference(self, other: Self) -> Self
pub const fn symmetric_difference(self, other: Self) -> Self
The bitwise exclusive-or (^
) of the bits in two flags values.
sourcepub const fn complement(self) -> Self
pub const fn complement(self) -> Self
The bitwise negation (!
) of the bits in a flags value, truncating the result.
source§impl MountFlags
impl MountFlags
sourcepub const fn iter(&self) -> Iter<MountFlags>
pub const fn iter(&self) -> Iter<MountFlags>
Yield a set of contained flags values.
Each yielded flags value will correspond to a defined named flag. Any unknown bits will be yielded together as a final flags value.
sourcepub const fn iter_names(&self) -> IterNames<MountFlags>
pub const fn iter_names(&self) -> IterNames<MountFlags>
Yield a set of contained named flags values.
This method is like iter
, except only yields bits in contained named flags.
Any unknown bits, or bits not corresponding to a contained flag will not be yielded.
Trait Implementations§
source§impl Binary for MountFlags
impl Binary for MountFlags
source§impl BitAnd for MountFlags
impl BitAnd for MountFlags
source§impl BitAndAssign for MountFlags
impl BitAndAssign for MountFlags
source§fn bitand_assign(&mut self, other: Self)
fn bitand_assign(&mut self, other: Self)
The bitwise and (&
) of the bits in two flags values.
source§impl BitOr for MountFlags
impl BitOr for MountFlags
source§fn bitor(self, other: MountFlags) -> Self
fn bitor(self, other: MountFlags) -> Self
The bitwise or (|
) of the bits in two flags values.
§type Output = MountFlags
type Output = MountFlags
|
operator.source§impl BitOrAssign for MountFlags
impl BitOrAssign for MountFlags
source§fn bitor_assign(&mut self, other: Self)
fn bitor_assign(&mut self, other: Self)
The bitwise or (|
) of the bits in two flags values.
source§impl BitXor for MountFlags
impl BitXor for MountFlags
source§impl BitXorAssign for MountFlags
impl BitXorAssign for MountFlags
source§fn bitxor_assign(&mut self, other: Self)
fn bitxor_assign(&mut self, other: Self)
The bitwise exclusive-or (^
) of the bits in two flags values.
source§impl Clone for MountFlags
impl Clone for MountFlags
source§fn clone(&self) -> MountFlags
fn clone(&self) -> MountFlags
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for MountFlags
impl Debug for MountFlags
source§impl Extend<MountFlags> for MountFlags
impl Extend<MountFlags> for MountFlags
source§fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)
fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)
The bitwise or (|
) of the bits in each flags value.
source§fn extend_one(&mut self, item: A)
fn extend_one(&mut self, item: A)
extend_one
)source§fn extend_reserve(&mut self, additional: usize)
fn extend_reserve(&mut self, additional: usize)
extend_one
)source§impl Flags for MountFlags
impl Flags for MountFlags
source§const FLAGS: &'static [Flag<MountFlags>] = _
const FLAGS: &'static [Flag<MountFlags>] = _
source§fn from_bits_retain(bits: c_ulong) -> MountFlags
fn from_bits_retain(bits: c_ulong) -> MountFlags
source§fn from_bits_truncate(bits: Self::Bits) -> Self
fn from_bits_truncate(bits: Self::Bits) -> Self
source§fn from_name(name: &str) -> Option<Self>
fn from_name(name: &str) -> Option<Self>
source§fn iter_names(&self) -> IterNames<Self>
fn iter_names(&self) -> IterNames<Self>
source§fn intersects(&self, other: Self) -> boolwhere
Self: Sized,
fn intersects(&self, other: Self) -> boolwhere
Self: Sized,
source§fn contains(&self, other: Self) -> boolwhere
Self: Sized,
fn contains(&self, other: Self) -> boolwhere
Self: Sized,
source§fn insert(&mut self, other: Self)where
Self: Sized,
fn insert(&mut self, other: Self)where
Self: Sized,
|
) of the bits in two flags values.source§fn remove(&mut self, other: Self)where
Self: Sized,
fn remove(&mut self, other: Self)where
Self: Sized,
&!
). Read moresource§fn toggle(&mut self, other: Self)where
Self: Sized,
fn toggle(&mut self, other: Self)where
Self: Sized,
^
) of the bits in two flags values.source§fn intersection(self, other: Self) -> Self
fn intersection(self, other: Self) -> Self
&
) of the bits in two flags values.source§fn difference(self, other: Self) -> Self
fn difference(self, other: Self) -> Self
&!
). Read moresource§fn symmetric_difference(self, other: Self) -> Self
fn symmetric_difference(self, other: Self) -> Self
^
) of the bits in two flags values.source§fn complement(self) -> Self
fn complement(self) -> Self
!
) of the bits in a flags value, truncating the result.source§impl FromIterator<MountFlags> for MountFlags
impl FromIterator<MountFlags> for MountFlags
source§fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self
fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self
The bitwise or (|
) of the bits in each flags value.
source§impl Hash for MountFlags
impl Hash for MountFlags
source§impl IntoIterator for MountFlags
impl IntoIterator for MountFlags
source§impl LowerHex for MountFlags
impl LowerHex for MountFlags
source§impl Not for MountFlags
impl Not for MountFlags
source§impl Octal for MountFlags
impl Octal for MountFlags
source§impl Ord for MountFlags
impl Ord for MountFlags
source§fn cmp(&self, other: &MountFlags) -> Ordering
fn cmp(&self, other: &MountFlags) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
source§impl PartialEq for MountFlags
impl PartialEq for MountFlags
source§fn eq(&self, other: &MountFlags) -> bool
fn eq(&self, other: &MountFlags) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl PartialOrd for MountFlags
impl PartialOrd for MountFlags
source§fn partial_cmp(&self, other: &MountFlags) -> Option<Ordering>
fn partial_cmp(&self, other: &MountFlags) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read moresource§impl PublicFlags for MountFlags
impl PublicFlags for MountFlags
source§impl Sub for MountFlags
impl Sub for MountFlags
source§fn sub(self, other: Self) -> Self
fn sub(self, other: Self) -> Self
The intersection of a source flags value with the complement of a target flags value (&!
).
This method is not equivalent to self & !other
when other
has unknown bits set.
difference
won’t truncate other
, but the !
operator will.
§type Output = MountFlags
type Output = MountFlags
-
operator.source§impl SubAssign for MountFlags
impl SubAssign for MountFlags
source§fn sub_assign(&mut self, other: Self)
fn sub_assign(&mut self, other: Self)
The intersection of a source flags value with the complement of a target flags value (&!
).
This method is not equivalent to self & !other
when other
has unknown bits set.
difference
won’t truncate other
, but the !
operator will.