diff options
Diffstat (limited to 'pkg')
-rw-r--r-- | pkg/btrfs/btrfsitem/item_blockgroup.go | 9 | ||||
-rw-r--r-- | pkg/btrfs/btrfsitem/items.txt | 1 | ||||
-rw-r--r-- | pkg/btrfs/btrfsitem/items_gen.go | 3 | ||||
-rw-r--r-- | pkg/btrfs/internal/itemtype.go | 2 |
4 files changed, 15 insertions, 0 deletions
diff --git a/pkg/btrfs/btrfsitem/item_blockgroup.go b/pkg/btrfs/btrfsitem/item_blockgroup.go index 162adb1..565aae8 100644 --- a/pkg/btrfs/btrfsitem/item_blockgroup.go +++ b/pkg/btrfs/btrfsitem/item_blockgroup.go @@ -1,9 +1,18 @@ package btrfsitem import ( + "lukeshu.com/btrfs-tools/pkg/binstruct" + "lukeshu.com/btrfs-tools/pkg/btrfs/internal" "lukeshu.com/btrfs-tools/pkg/util" ) +type BlockGroup struct { // BLOCK_GROUP_ITEM=192 + Used int64 `bin:"off=0, siz=8"` + ChunkObjectID internal.ObjID `bin:"off=8, siz=8"` + Flags BlockGroupFlags `bin:"off=16, siz=8"` + binstruct.End `bin:"off=24"` +} + type BlockGroupFlags uint64 const ( diff --git a/pkg/btrfs/btrfsitem/items.txt b/pkg/btrfs/btrfsitem/items.txt index 0cca6df..5e9a17d 100644 --- a/pkg/btrfs/btrfsitem/items.txt +++ b/pkg/btrfs/btrfsitem/items.txt @@ -1,3 +1,4 @@ +BLOCK_GROUP_ITEM=192 BlockGroup CHUNK_ITEM=228 Chunk DEV_ITEM=216 Dev DEV_EXTENT=204 DevExtent diff --git a/pkg/btrfs/btrfsitem/items_gen.go b/pkg/btrfs/btrfsitem/items_gen.go index fc894d1..8c51875 100644 --- a/pkg/btrfs/btrfsitem/items_gen.go +++ b/pkg/btrfs/btrfsitem/items_gen.go @@ -9,6 +9,7 @@ import ( ) const ( + BLOCK_GROUP_ITEM_KEY = internal.BLOCK_GROUP_ITEM_KEY CHUNK_ITEM_KEY = internal.CHUNK_ITEM_KEY DEV_ITEM_KEY = internal.DEV_ITEM_KEY DEV_EXTENT_KEY = internal.DEV_EXTENT_KEY @@ -33,6 +34,7 @@ const ( ) var keytype2gotype = map[Type]reflect.Type{ + BLOCK_GROUP_ITEM_KEY: reflect.TypeOf(BlockGroup{}), CHUNK_ITEM_KEY: reflect.TypeOf(Chunk{}), DEV_ITEM_KEY: reflect.TypeOf(Dev{}), DEV_EXTENT_KEY: reflect.TypeOf(DevExtent{}), @@ -56,6 +58,7 @@ var keytype2gotype = map[Type]reflect.Type{ UUID_RECEIVED_SUBVOL_KEY: reflect.TypeOf(UUIDMap{}), } +func (BlockGroup) isItem() {} func (Chunk) isItem() {} func (Dev) isItem() {} func (DevExtent) isItem() {} diff --git a/pkg/btrfs/internal/itemtype.go b/pkg/btrfs/internal/itemtype.go index 5a8c10f..7f16889 100644 --- a/pkg/btrfs/internal/itemtype.go +++ b/pkg/btrfs/internal/itemtype.go @@ -7,6 +7,7 @@ import "fmt" type ItemType uint8 const ( + BLOCK_GROUP_ITEM_KEY = ItemType(192) CHUNK_ITEM_KEY = ItemType(228) DEV_ITEM_KEY = ItemType(216) DEV_EXTENT_KEY = ItemType(204) @@ -32,6 +33,7 @@ const ( func (t ItemType) String() string { names := map[ItemType]string{ + BLOCK_GROUP_ITEM_KEY: "BLOCK_GROUP_ITEM", CHUNK_ITEM_KEY: "CHUNK_ITEM", DEV_ITEM_KEY: "DEV_ITEM", DEV_EXTENT_KEY: "DEV_EXTENT", |