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.
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.
ExtentItem(ExtentItem)
Extent allocation record (EXTENT_ITEM or METADATA_ITEM).
TreeBlockRef
Standalone tree block backref (no data payload; the key offset is the root).
Standalone shared block backref (no data payload; the key offset is the parent bytenr).
ExtentDataRef(ExtentDataRef)
Standalone data extent backref.
Standalone shared data extent backref.
ExtentOwnerRef
Simple ownership reference for an 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.
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.