summaryrefslogtreecommitdiff
path: root/pkg/btrfs/internal/itemtype.go
diff options
context:
space:
mode:
authorLuke Shumaker <lukeshu@lukeshu.com>2022-06-01 01:27:19 -0600
committerLuke Shumaker <lukeshu@lukeshu.com>2022-06-01 01:27:19 -0600
commit3825cf60fd652f22acc438d50028701d27a7402d (patch)
tree24b86afb8513891274dfaa8b982c4c94c1a65a5d /pkg/btrfs/internal/itemtype.go
parent2348cdbe2a3417990a2088f9e4e91adf0c45617d (diff)
wow
Diffstat (limited to 'pkg/btrfs/internal/itemtype.go')
-rw-r--r--pkg/btrfs/internal/itemtype.go41
1 files changed, 41 insertions, 0 deletions
diff --git a/pkg/btrfs/internal/itemtype.go b/pkg/btrfs/internal/itemtype.go
new file mode 100644
index 0000000..d780b60
--- /dev/null
+++ b/pkg/btrfs/internal/itemtype.go
@@ -0,0 +1,41 @@
+package internal
+
+import "fmt"
+
+type ItemType uint8
+
+const (
+ CHUNK_ITEM_KEY = ItemType(228)
+ DEV_ITEM_KEY = ItemType(216)
+ DEV_EXTENT_KEY = ItemType(204)
+ UNTYPED_KEY = ItemType(0)
+ QGROUP_RELATION_KEY = ItemType(246)
+ INODE_ITEM_KEY = ItemType(1)
+ INODE_REF_KEY = ItemType(12)
+ ORPHAN_ITEM_KEY = ItemType(48)
+ PERSISTENT_ITEM_KEY = ItemType(249)
+ ROOT_ITEM_KEY = ItemType(132)
+ UUID_SUBVOL_KEY = ItemType(251)
+ UUID_RECEIVED_SUBVOL_KEY = ItemType(252)
+)
+
+func (t ItemType) String() string {
+ names := map[ItemType]string{
+ CHUNK_ITEM_KEY: "CHUNK_ITEM",
+ DEV_ITEM_KEY: "DEV_ITEM",
+ DEV_EXTENT_KEY: "DEV_EXTENT",
+ UNTYPED_KEY: "UNTYPED",
+ QGROUP_RELATION_KEY: "QGROUP_RELATION",
+ INODE_ITEM_KEY: "INODE_ITEM",
+ INODE_REF_KEY: "INODE_REF",
+ ORPHAN_ITEM_KEY: "ORPHAN_ITEM",
+ PERSISTENT_ITEM_KEY: "PERSISTENT_ITEM",
+ ROOT_ITEM_KEY: "ROOT_ITEM",
+ UUID_SUBVOL_KEY: "UUID_SUBVOL",
+ UUID_RECEIVED_SUBVOL_KEY: "UUID_RECEIVED_SUBVOL",
+ }
+ if name, ok := names[t]; ok {
+ return name
+ }
+ return fmt.Sprintf("%d", t)
+}