Skip to main content

ItemPayload

Enum ItemPayload 

Source
pub enum ItemPayload {
Show 34 variants InodeItem(InodeItem), InodeRef(Vec<InodeRef>), InodeExtref(Vec<InodeExtref>), DirItem(Vec<DirItem>), DirLogItem { end: u64, }, OrphanItem, RootItem(RootItem), RootRef(RootRef), FileExtentItem(FileExtentItem), ExtentCsum { data: Vec<u8>, }, ExtentItem(ExtentItem), TreeBlockRef, SharedBlockRef, ExtentDataRef(ExtentDataRef), SharedDataRef(SharedDataRef), ExtentOwnerRef { root: u64, }, BlockGroupItem(BlockGroupItem), FreeSpaceInfo(FreeSpaceInfo), FreeSpaceExtent, FreeSpaceBitmap, ChunkItem(ChunkItem), DeviceItem(DeviceItem), DeviceExtent(DeviceExtent), QgroupStatus(QgroupStatus), QgroupInfo(QgroupInfo), QgroupLimit(QgroupLimit), QgroupRelation, DeviceStats(DeviceStats), BalanceItem { flags: u64, }, DeviceReplace(DeviceReplaceItem), UuidItem(UuidItem), StringItem(Vec<u8>), RaidStripe(RaidStripeItem), Unknown(Vec<u8>),
}
Expand description

Parsed item payload: the typed result of parsing a leaf item’s raw data based on its key type.

Returned by parse_item_payload. Each variant wraps the corresponding item struct. Unknown holds the raw bytes for unrecognized key types.

Variants§

§

InodeItem(InodeItem)

Inode metadata (POSIX attributes, timestamps, flags).

§

InodeRef(Vec<InodeRef>)

One or more hard-link references packed in a single item.

§

InodeExtref(Vec<InodeExtref>)

One or more extended inode references.

§

DirItem(Vec<DirItem>)

One or more directory entries (also used for DIR_INDEX and XATTR_ITEM).

§

DirLogItem

Directory log item with the logged range end offset.

Fields

§end: u64

End of the logged directory range.

§

OrphanItem

Orphan marker (no data payload).

§

RootItem(RootItem)

Tree root descriptor (subvolume, snapshot, or internal tree).

§

RootRef(RootRef)

Root forward or back reference (ROOT_REF / ROOT_BACKREF).

§

FileExtentItem(FileExtentItem)

File extent descriptor.

§

ExtentCsum

Raw extent checksum data.

Fields

§data: Vec<u8>

Raw checksum bytes (array of per-sector checksums).

§

ExtentItem(ExtentItem)

Extent allocation record (EXTENT_ITEM or METADATA_ITEM).

§

TreeBlockRef

Standalone tree block backref (no data payload; the key offset is the root).

§

SharedBlockRef

Standalone shared block backref (no data payload; the key offset is the parent bytenr).

§

ExtentDataRef(ExtentDataRef)

Standalone data extent backref.

§

SharedDataRef(SharedDataRef)

Standalone shared data extent backref.

§

ExtentOwnerRef

Simple ownership reference for an extent.

Fields

§root: u64

Tree objectid that owns this extent.

§

BlockGroupItem(BlockGroupItem)

Block group descriptor.

§

FreeSpaceInfo(FreeSpaceInfo)

Free space info for a block group.

§

FreeSpaceExtent

Free space extent (no data payload; key encodes start and length).

§

FreeSpaceBitmap

Free space bitmap (data payload is the bitmap).

§

ChunkItem(ChunkItem)

Chunk item mapping logical to physical addresses.

§

DeviceItem(DeviceItem)

Device item describing a single device.

§

DeviceExtent(DeviceExtent)

Physical extent mapping on a device.

§

QgroupStatus(QgroupStatus)

Quota group status.

§

QgroupInfo(QgroupInfo)

Quota group accounting info.

§

QgroupLimit(QgroupLimit)

Quota group limits.

§

QgroupRelation

Quota group relation (no data payload; parent/child encoded in key).

§

DeviceStats(DeviceStats)

Per-device I/O error statistics.

§

BalanceItem

Balance status item.

Fields

§flags: u64

Balance flags from the first 8 bytes of the item data.

§

DeviceReplace(DeviceReplaceItem)

Device replace status.

§

UuidItem(UuidItem)

UUID tree entry mapping a UUID to subvolume objectids.

§

StringItem(Vec<u8>)

String item (typically the superblock label).

§

RaidStripe(RaidStripeItem)

RAID stripe extent mapping.

§

Unknown(Vec<u8>)

Unrecognized item type; raw data preserved.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

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

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.