Struct btrfs_diskformat::RootItem[][src]

#[repr(C, packed)]pub struct RootItem {
    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],
}

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

impl AsBytes for RootItem[src]

impl Clone for RootItem[src]

impl Copy for RootItem[src]

impl Debug for RootItem[src]

impl FromBytes for RootItem[src]

impl Unaligned for RootItem[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.