diff options
author | Luke Shumaker <lukeshu@lukeshu.com> | 2023-02-12 13:14:43 -0700 |
---|---|---|
committer | Luke Shumaker <lukeshu@lukeshu.com> | 2023-02-12 14:27:30 -0700 |
commit | 79cb12dde9352331c15724b7d0892fd4ce5ea342 (patch) | |
tree | a90ef3875bc235e442d6abe9b9fcd67fadd3d830 /lib/btrfs/btrfsprim | |
parent | 2cb3cb14dd85535a0a691d42874d7045d7c81571 (diff) |
btrfsitem, btrfsinspect/print_tree: Implement the QGroup types
Diffstat (limited to 'lib/btrfs/btrfsprim')
-rw-r--r-- | lib/btrfs/btrfsprim/itemtype.go | 6 | ||||
-rw-r--r-- | lib/btrfs/btrfsprim/objid.go | 2 |
2 files changed, 7 insertions, 1 deletions
diff --git a/lib/btrfs/btrfsprim/itemtype.go b/lib/btrfs/btrfsprim/itemtype.go index 5c7d0e8..0b6baee 100644 --- a/lib/btrfs/btrfsprim/itemtype.go +++ b/lib/btrfs/btrfsprim/itemtype.go @@ -25,7 +25,10 @@ const ( METADATA_ITEM_KEY = ItemType(169) ORPHAN_ITEM_KEY = ItemType(48) PERSISTENT_ITEM_KEY = ItemType(249) + QGROUP_INFO_KEY = ItemType(242) + QGROUP_LIMIT_KEY = ItemType(244) QGROUP_RELATION_KEY = ItemType(246) + QGROUP_STATUS_KEY = ItemType(240) ROOT_BACKREF_KEY = ItemType(144) ROOT_ITEM_KEY = ItemType(132) ROOT_REF_KEY = ItemType(156) @@ -58,7 +61,10 @@ func (t ItemType) String() string { METADATA_ITEM_KEY: "METADATA_ITEM", ORPHAN_ITEM_KEY: "ORPHAN_ITEM", PERSISTENT_ITEM_KEY: "PERSISTENT_ITEM", + QGROUP_INFO_KEY: "QGROUP_INFO", + QGROUP_LIMIT_KEY: "QGROUP_LIMIT", QGROUP_RELATION_KEY: "QGROUP_RELATION", + QGROUP_STATUS_KEY: "QGROUP_STATUS", ROOT_BACKREF_KEY: "ROOT_BACKREF", ROOT_ITEM_KEY: "ROOT_ITEM", ROOT_REF_KEY: "ROOT_REF", diff --git a/lib/btrfs/btrfsprim/objid.go b/lib/btrfs/btrfsprim/objid.go index 5ba213d..8ad290b 100644 --- a/lib/btrfs/btrfsprim/objid.go +++ b/lib/btrfs/btrfsprim/objid.go @@ -68,7 +68,7 @@ func (id ObjID) Format(typ ItemType) string { case DEV_EXTENT_KEY: return fmt.Sprintf("%d", int64(id)) case QGROUP_RELATION_KEY: - //nolint:gomnd // TODO: I'm not sure what the 48/16 bit split means. + //nolint:gomnd // The left 48 bits are the "qgroup level", and the right 16 bits are the subvolume ID. return fmt.Sprintf("%d/%d", uint64(id)>>48, uint64(id)&((1<<48)-1)) |