pub struct SuperBlockHeaderV32 {
pub generation: u64,
pub root_parent_store_object_id: u64,
pub root_parent_graveyard_directory_object_id: u64,
pub root_store_object_id: u64,
pub allocator_object_id: u64,
pub journal_object_id: u64,
pub journal_checkpoint: JournalCheckpointV32,
pub super_block_journal_file_offset: u64,
pub journal_file_offsets: FxHashMap<u64, u64>,
pub borrowed_metadata_space: u64,
pub earliest_version: Version,
/* private fields */
}
Fields§
§generation: u64
There are two super-blocks which are used in an A/B configuration. The super-block with the greatest generation number is what is used when mounting an Fxfs image; the other is discarded.
root_parent_store_object_id: u64
The root parent store is an in-memory only store and serves as the backing store for the root store and the journal. The records for this store are serialized into the super-block and mutations are also recorded in the journal.
root_parent_graveyard_directory_object_id: u64
The root parent needs a graveyard and there’s nowhere else to store it other than in the super-block.
root_store_object_id: u64
The root object store contains all other metadata objects (including the allocator, the journal and the super-blocks) and is the parent for all other object stores.
allocator_object_id: u64
This is in the root object store.
journal_object_id: u64
This is in the root parent object store.
journal_checkpoint: JournalCheckpointV32
Start checkpoint for the journal file.
super_block_journal_file_offset: u64
Offset of the journal file when the super-block was written. If no entry is present in journal_file_offsets for a particular object, then an object might have dependencies on the journal from super_block_journal_file_offset onwards, but not earlier.
journal_file_offsets: FxHashMap<u64, u64>
object id -> journal file offset. Indicates where each object has been flushed to.
borrowed_metadata_space: u64
Records the amount of borrowed metadata space as applicable at
super_block_journal_file_offset
.
earliest_version: Version
The earliest version of Fxfs used to create any still-existing struct in the filesystem.
Note: structs in the filesystem may had been made with various different versions of Fxfs.
Implementations§
Trait Implementations§
Source§impl Clone for SuperBlockHeaderV32
impl Clone for SuperBlockHeaderV32
Source§fn clone(&self) -> SuperBlockHeaderV32
fn clone(&self) -> SuperBlockHeaderV32
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for SuperBlockHeaderV32
impl Debug for SuperBlockHeaderV32
Source§impl Default for SuperBlockHeaderV32
impl Default for SuperBlockHeaderV32
Source§fn default() -> SuperBlockHeaderV32
fn default() -> SuperBlockHeaderV32
Source§impl<'de> Deserialize<'de> for SuperBlockHeaderV32
impl<'de> Deserialize<'de> for SuperBlockHeaderV32
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for SuperBlockHeaderV32
impl PartialEq for SuperBlockHeaderV32
Source§impl Serialize for SuperBlockHeaderV32
impl Serialize for SuperBlockHeaderV32
Source§impl TypeFingerprint for SuperBlockHeaderV32
impl TypeFingerprint for SuperBlockHeaderV32
fn fingerprint() -> String
Source§impl Versioned for SuperBlockHeaderV32
impl Versioned for SuperBlockHeaderV32
impl Eq for SuperBlockHeaderV32
impl StructuralPartialEq for SuperBlockHeaderV32
Auto Trait Implementations§
impl Freeze for SuperBlockHeaderV32
impl RefUnwindSafe for SuperBlockHeaderV32
impl Send for SuperBlockHeaderV32
impl Sync for SuperBlockHeaderV32
impl Unpin for SuperBlockHeaderV32
impl UnwindSafe for SuperBlockHeaderV32
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T, D> Encode<Ambiguous1, D> for Twhere
D: ResourceDialect,
impl<T, D> Encode<Ambiguous1, D> for Twhere
D: ResourceDialect,
Source§impl<T, D> Encode<Ambiguous2, D> for Twhere
D: ResourceDialect,
impl<T, D> Encode<Ambiguous2, D> for Twhere
D: ResourceDialect,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more