#[repr(C, packed)]
pub struct RootItem {
Show 25 fields pub inode: InodeItem, pub generation: U64<LE>, pub root_dirid: U64<LE>, pub bytenr: U64<LE>, pub byte_limit: U64<LE>, pub bytes_used: U64<LE>, pub last_snapshot: U64<LE>, pub flags: U64<LE>, pub refs: U32<LE>, pub drop_progress: Key, pub drop_level: u8, pub level: u8, pub generation_v2: U64<LE>, pub uuid: UuidBytes, pub parent_uuid: UuidBytes, pub received_uuid: UuidBytes, pub ctransid: U64<LE>, pub otransid: U64<LE>, pub stransid: U64<LE>, pub rtransid: U64<LE>, pub ctime: Time, pub otime: Time, pub stime: Time, pub rtime: Time, pub _unused: [u64; 8],
}
Expand description

Defines the location and parameters of the root of a b-tree.

Fields

inode: InodeItemgeneration: U64<LE>root_dirid: U64<LE>bytenr: U64<LE>byte_limit: U64<LE>

Currently unused. Always 0.

bytes_used: U64<LE>

Currently unused.

last_snapshot: U64<LE>

The transaction ID of the last transaction that created a snapshot of this root.

flags: U64<LE>refs: U32<LE>

Only 0 or 1. Historically contained a reference count.

drop_progress: Key

Contains the key of the last dropped item during subvolume removal or relocation.

Value will be zeroed out otherwise.

drop_level: u8

The tree level of the node referenced in drop_progress.

level: u8

The height of this root’s tree.

generation_v2: U64<LE>

Value to help determine whether this root has been modified by an older btrfs implementation.

If the value is equal to generation, the fields below are valid. Otherwise, this indicates the fields are invalid but recoverable.

uuid: UuidBytes

The subvolume’s UUID.

parent_uuid: UuidBytes

The parent’s subvolume UUID.

This is used during send/receive.

received_uuid: UuidBytes

The received UUID.

This is used during send/receive.

ctransid: U64<LE>

The transaction ID of the last transaction that modified the tree.

Note: some operations like internal caches or relocation will not update this value.

otransid: U64<LE>

The transaction ID of the transaction that created the tree.

stransid: U64<LE>

The transaction ID for the transaction that sent this subvolume.

This value is non-zero for a received subvolume.

rtransid: U64<LE>

The transaction ID for the transaction that received this subvolume.

This value is non-zero for a received subvolume.

ctime: Time

The timestamp of the ctransid.

otime: Time

The timestamp of the otransid.

stime: Time

The timestamp of the stransid.

rtime: Time

The timestamp of the rtransid.

_unused: [u64; 8]

Currently unused. Reserved for future use.

Trait Implementations

Get the bytes of this value. Read more
Get the bytes of this value mutably. Read more
Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.