Struct btrfs_diskformat::SuperBlock [−][src]
The layout of the superblock. A valid superblock must exist for most btrfs implementations to mount the filesystem.
The primary superblock is located at PRIMARY_SUPERBLOCK_ADDR
.
There are additional copies of the superblock located at SUPERBLOCK_ADDRS
, if those addresses
are valid, respectively.
Resources
Fields
csum: [u8; 32]
Checksum of everything past this field.
fsid: [u8; 16]
Filesystem UUID.
bytenr: U64<LE>
The physical address of this block.
flags: U64<LE>
Flags
magic: U64<LE>
The magic must be equal to "_BHRfS_M"
in ASCII.
generation: U64<LE>
The generation of the superblock. In SSD mode, not all superblocks may be updated, so the latest generation superblock should be used.
root: U64<LE>
The logical address of the root tree’s root.
chunk_root: U64<LE>
The logical address of the chunk tree’s root.
log_root: U64<LE>
The logical address of the log tree’s root.
log_root_transid: U64<LE>
FIXME: find out what this is!
total_bytes: U64<LE>
FIXME: document this!
bytes_used: U64<LE>
root_dir_objectid: U64<LE>
The root directory’s object ID, which is typically 6.
num_devices: U64<LE>
The number of devices the current filesystem spans.
sectorsize: U32<LE>
The size of a sector.
nodesize: U32<LE>
leafsize: U32<LE>
This is currently unused.
stripesize: U32<LE>
sys_chunk_array_size: U32<LE>
The size of sys_chunk_array
found in the superblock.
chunk_root_generation: U64<LE>
compat_flags: U64<LE>
compat_ro_flags: U64<LE>
Only implementations that support these flags can write to the filesystem.
incompat_flags: U64<LE>
Only implementations that support these flags can use the filesystem.
csum_type: U16<LE>
The checksum type.
This should correspond with a value from ChecksumType
.
root_level: u8
chunk_root_level: u8
log_root_level: u8
dev_item: DevItem
label: [u8; 256]
The label represented as a null-terminated UTF-8 string. May not contain '/'
or '\\'
.
cache_generation: U64<LE>
uuid_tree_generation: U64<LE>
_reserved: [U64<LE>; 30]
Reserved for extensibility.
sys_chunk_array: [u8; 2048]
super_roots: [RootBackup; 4]
_unused1: [u8; 565]
Trait Implementations
impl AsBytes for SuperBlock
[src]
fn only_derive_is_allowed_to_implement_this_trait() where
Self: Sized,
[src]
Self: Sized,
pub fn as_bytes(&self) -> &[u8]
[src]
pub fn as_bytes_mut(&mut self) -> &mut [u8] where
Self: FromBytes,
[src]
Self: FromBytes,
impl Clone for SuperBlock
[src]
fn clone(&self) -> SuperBlock
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Copy for SuperBlock
[src]
impl FromBytes for SuperBlock
[src]
fn only_derive_is_allowed_to_implement_this_trait() where
Self: Sized,
[src]
Self: Sized,
impl Unaligned for SuperBlock
[src]
fn only_derive_is_allowed_to_implement_this_trait() where
Self: Sized,
[src]
Self: Sized,
Auto Trait Implementations
impl RefUnwindSafe for SuperBlock
impl Send for SuperBlock
impl Sync for SuperBlock
impl Unpin for SuperBlock
impl UnwindSafe for SuperBlock
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,