pub struct StartOptions {
pub read_only: Option<bool>,
pub verbose: Option<bool>,
pub fsck_after_every_transaction: Option<bool>,
pub write_compression_algorithm: Option<CompressionAlgorithm>,
pub write_compression_level: Option<i32>,
pub cache_eviction_policy_override: Option<EvictionPolicyOverride>,
pub startup_profiling_seconds: Option<u32>,
pub inline_crypto_enabled: Option<bool>,
pub barriers_enabled: Option<bool>,
/* private fields */
}
Expand description
Options for starting a filesystem.
Fields§
§read_only: Option<bool>
Start the filesystem in read-only mode.
verbose: Option<bool>
Enable verbose logging.
fsck_after_every_transaction: Option<bool>
If true, run fsck after every transaction. This is for testing purposes only - it’s very slow to run a filesystem like this.
write_compression_algorithm: Option<CompressionAlgorithm>
A compression algorithm specifier for the filesystem to use when storing files (if the filesystem supports it). Defaults to ZSTD_CHUNKED.
write_compression_level: Option<i32>
An optional compression level for the filesystem to use when storing files (if the filesystem and the configured |write_compression_algorithm| supports it). Setting to < 0 indicates no value (the filesystem chooses a default if necessary).
cache_eviction_policy_override: Option<EvictionPolicyOverride>
An optional eviction policy specifier for the filesystem to use for in-memory structures (if the filesystem supports it), specifically for pager-backed files.
startup_profiling_seconds: Option<u32>
Use profiling for the first N seconds after filesystem start. Records the access patterns of objects for N seconds and if the profile already exists, prefetch data and hold the vmos in cache for N seconds. Functionally this means that the first launch with this option records the profile and all other launches with this option will replay that profile.
inline_crypto_enabled: Option<bool>
If true, configures the filesystem to use the hardware’s inline encryption engine when
writing encrypted data. This allows the filesystem to store user-encrypted data without
being able to read or write the plaintext contents, which enhances security and privacy.
Requires the block device to support inline encryption and for barriers_enabled
to be
true.
TODO(https://fxbug.dev/393196849): For now, this flag only prevents the filesystem from
computing checksums. Update this comment when the filesystem actually uses inline
encryption.
barriers_enabled: Option<bool>
Configures the filesystem to use barriers instead of checksums to ensure consistency. If
set, barriers will be used to enforce proper ordering of data and metadata writes, which
is otherwise provided by computing and verifying data checksums. Requires filesystem
support; at the time of writing, only Fxfs uses this argument.
Must be set to true if inline_crypto_enabled
is true.
Trait Implementations§
Source§impl Clone for StartOptions
impl Clone for StartOptions
Source§fn clone(&self) -> StartOptions
fn clone(&self) -> StartOptions
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for StartOptions
impl Debug for StartOptions
Source§impl<D: ResourceDialect> Decode<StartOptions, D> for StartOptions
impl<D: ResourceDialect> Decode<StartOptions, D> for StartOptions
Source§impl Default for StartOptions
impl Default for StartOptions
Source§fn default() -> StartOptions
fn default() -> StartOptions
Source§impl<D: ResourceDialect> Encode<StartOptions, D> for &StartOptions
impl<D: ResourceDialect> Encode<StartOptions, D> for &StartOptions
Source§impl PartialEq for StartOptions
impl PartialEq for StartOptions
Source§impl TypeMarker for StartOptions
impl TypeMarker for StartOptions
Source§type Owned = StartOptions
type Owned = StartOptions
Source§fn inline_align(_context: Context) -> usize
fn inline_align(_context: Context) -> usize
Source§fn inline_size(_context: Context) -> usize
fn inline_size(_context: Context) -> usize
inline_align
.Source§fn encode_is_copy() -> bool
fn encode_is_copy() -> bool
Self::Owned
matches the FIDL wire
format and encoding requires no validation. When true, we can optimize
encoding arrays and vectors of Self::Owned
to a single memcpy. Read moreSource§fn decode_is_copy() -> bool
fn decode_is_copy() -> bool
Self::Owned
matches the FIDL wire
format and decoding requires no validation. When true, we can optimize
decoding arrays and vectors of Self::Owned
to a single memcpy.Source§impl ValueTypeMarker for StartOptions
impl ValueTypeMarker for StartOptions
Source§type Borrowed<'a> = &'a StartOptions
type Borrowed<'a> = &'a StartOptions
Encode<Self>
type cheaply obtainable from &Self::Owned
. There are three cases: Read more