diff options
Diffstat (limited to 'lib/btrfs/btrfsitem')
-rw-r--r-- | lib/btrfs/btrfsitem/item_blockgroup.go | 4 | ||||
-rw-r--r-- | lib/btrfs/btrfsitem/item_chunk.go | 8 | ||||
-rw-r--r-- | lib/btrfs/btrfsitem/item_dev.go | 18 | ||||
-rw-r--r-- | lib/btrfs/btrfsitem/item_devextent.go | 8 | ||||
-rw-r--r-- | lib/btrfs/btrfsitem/item_dir.go | 12 | ||||
-rw-r--r-- | lib/btrfs/btrfsitem/item_extent.go | 12 | ||||
-rw-r--r-- | lib/btrfs/btrfsitem/item_extentdataref.go | 10 | ||||
-rw-r--r-- | lib/btrfs/btrfsitem/item_fileextent.go | 6 | ||||
-rw-r--r-- | lib/btrfs/btrfsitem/item_inode.go | 36 | ||||
-rw-r--r-- | lib/btrfs/btrfsitem/item_root.go | 26 | ||||
-rw-r--r-- | lib/btrfs/btrfsitem/item_rootref.go | 8 | ||||
-rw-r--r-- | lib/btrfs/btrfsitem/item_untyped.go | 10 | ||||
-rw-r--r-- | lib/btrfs/btrfsitem/item_uuid.go | 4 | ||||
-rw-r--r-- | lib/btrfs/btrfsitem/items.go | 6 | ||||
-rw-r--r-- | lib/btrfs/btrfsitem/items_gen.go | 64 | ||||
-rw-r--r-- | lib/btrfs/btrfsitem/items_test.go | 6 |
16 files changed, 119 insertions, 119 deletions
diff --git a/lib/btrfs/btrfsitem/item_blockgroup.go b/lib/btrfs/btrfsitem/item_blockgroup.go index 776ff56..96ce218 100644 --- a/lib/btrfs/btrfsitem/item_blockgroup.go +++ b/lib/btrfs/btrfsitem/item_blockgroup.go @@ -6,15 +6,15 @@ package btrfsitem import ( "git.lukeshu.com/btrfs-progs-ng/lib/binstruct" + "git.lukeshu.com/btrfs-progs-ng/lib/btrfs/btrfsprim" "git.lukeshu.com/btrfs-progs-ng/lib/btrfs/btrfsvol" - "git.lukeshu.com/btrfs-progs-ng/lib/btrfs/internal" ) // key.objectid = logical_addr // key.offset = size of chunk type BlockGroup struct { // BLOCK_GROUP_ITEM=192 Used int64 `bin:"off=0, siz=8"` - ChunkObjectID internal.ObjID `bin:"off=8, siz=8"` // always BTRFS_FIRST_CHUNK_TREE_OBJECTID + ChunkObjectID btrfsprim.ObjID `bin:"off=8, siz=8"` // always BTRFS_FIRST_CHUNK_TREE_OBJECTID Flags btrfsvol.BlockGroupFlags `bin:"off=16, siz=8"` binstruct.End `bin:"off=24"` } diff --git a/lib/btrfs/btrfsitem/item_chunk.go b/lib/btrfs/btrfsitem/item_chunk.go index fe2637d..1f1d577 100644 --- a/lib/btrfs/btrfsitem/item_chunk.go +++ b/lib/btrfs/btrfsitem/item_chunk.go @@ -6,8 +6,8 @@ package btrfsitem import ( "git.lukeshu.com/btrfs-progs-ng/lib/binstruct" + "git.lukeshu.com/btrfs-progs-ng/lib/btrfs/btrfsprim" "git.lukeshu.com/btrfs-progs-ng/lib/btrfs/btrfsvol" - "git.lukeshu.com/btrfs-progs-ng/lib/btrfs/internal" "git.lukeshu.com/btrfs-progs-ng/lib/containers" ) @@ -22,7 +22,7 @@ type Chunk struct { // CHUNK_ITEM=228 type ChunkHeader struct { Size btrfsvol.AddrDelta `bin:"off=0x0, siz=0x8"` - Owner internal.ObjID `bin:"off=0x8, siz=0x8"` // root referencing this chunk (always EXTENT_TREE_OBJECTID=2) + Owner btrfsprim.ObjID `bin:"off=0x8, siz=0x8"` // root referencing this chunk (always EXTENT_TREE_OBJECTID=2) StripeLen uint64 `bin:"off=0x10, siz=0x8"` // ??? Type btrfsvol.BlockGroupFlags `bin:"off=0x18, siz=0x8"` IOOptimalAlign uint32 `bin:"off=0x20, siz=0x4"` @@ -36,11 +36,11 @@ type ChunkHeader struct { type ChunkStripe struct { DeviceID btrfsvol.DeviceID `bin:"off=0x0, siz=0x8"` Offset btrfsvol.PhysicalAddr `bin:"off=0x8, siz=0x8"` - DeviceUUID internal.UUID `bin:"off=0x10, siz=0x10"` + DeviceUUID btrfsprim.UUID `bin:"off=0x10, siz=0x10"` binstruct.End `bin:"off=0x20"` } -func (chunk Chunk) Mappings(key internal.Key) []btrfsvol.Mapping { +func (chunk Chunk) Mappings(key btrfsprim.Key) []btrfsvol.Mapping { ret := make([]btrfsvol.Mapping, 0, len(chunk.Stripes)) for _, stripe := range chunk.Stripes { ret = append(ret, btrfsvol.Mapping{ diff --git a/lib/btrfs/btrfsitem/item_dev.go b/lib/btrfs/btrfsitem/item_dev.go index 020f2ca..fd7f458 100644 --- a/lib/btrfs/btrfsitem/item_dev.go +++ b/lib/btrfs/btrfsitem/item_dev.go @@ -6,8 +6,8 @@ package btrfsitem import ( "git.lukeshu.com/btrfs-progs-ng/lib/binstruct" + "git.lukeshu.com/btrfs-progs-ng/lib/btrfs/btrfsprim" "git.lukeshu.com/btrfs-progs-ng/lib/btrfs/btrfsvol" - "git.lukeshu.com/btrfs-progs-ng/lib/btrfs/internal" ) // key.objectid = BTRFS_DEV_ITEMS_OBJECTID @@ -22,15 +22,15 @@ type Dev struct { // DEV_ITEM=216 IOOptimalWidth uint32 `bin:"off=0x1c, siz=0x4"` IOMinSize uint32 `bin:"off=0x20, siz=0x4"` // sector size - Type uint64 `bin:"off=0x24, siz=0x8"` - Generation internal.Generation `bin:"off=0x2c, siz=0x8"` - StartOffset uint64 `bin:"off=0x34, siz=0x8"` - DevGroup uint32 `bin:"off=0x3c, siz=0x4"` - SeekSpeed uint8 `bin:"off=0x40, siz=0x1"` - Bandwidth uint8 `bin:"off=0x41, siz=0x1"` + Type uint64 `bin:"off=0x24, siz=0x8"` + Generation btrfsprim.Generation `bin:"off=0x2c, siz=0x8"` + StartOffset uint64 `bin:"off=0x34, siz=0x8"` + DevGroup uint32 `bin:"off=0x3c, siz=0x4"` + SeekSpeed uint8 `bin:"off=0x40, siz=0x1"` + Bandwidth uint8 `bin:"off=0x41, siz=0x1"` - DevUUID internal.UUID `bin:"off=0x42, siz=0x10"` - FSUUID internal.UUID `bin:"off=0x52, siz=0x10"` + DevUUID btrfsprim.UUID `bin:"off=0x42, siz=0x10"` + FSUUID btrfsprim.UUID `bin:"off=0x52, siz=0x10"` binstruct.End `bin:"off=0x62"` } diff --git a/lib/btrfs/btrfsitem/item_devextent.go b/lib/btrfs/btrfsitem/item_devextent.go index 4f26b27..8f5f05c 100644 --- a/lib/btrfs/btrfsitem/item_devextent.go +++ b/lib/btrfs/btrfsitem/item_devextent.go @@ -6,22 +6,22 @@ package btrfsitem import ( "git.lukeshu.com/btrfs-progs-ng/lib/binstruct" + "git.lukeshu.com/btrfs-progs-ng/lib/btrfs/btrfsprim" "git.lukeshu.com/btrfs-progs-ng/lib/btrfs/btrfsvol" - "git.lukeshu.com/btrfs-progs-ng/lib/btrfs/internal" ) // key.objectid = device_id // key.offset = physical_addr type DevExtent struct { // DEV_EXTENT=204 ChunkTree int64 `bin:"off=0, siz=8"` - ChunkObjectID internal.ObjID `bin:"off=8, siz=8"` + ChunkObjectID btrfsprim.ObjID `bin:"off=8, siz=8"` ChunkOffset btrfsvol.LogicalAddr `bin:"off=16, siz=8"` Length btrfsvol.AddrDelta `bin:"off=24, siz=8"` - ChunkTreeUUID internal.UUID `bin:"off=32, siz=16"` + ChunkTreeUUID btrfsprim.UUID `bin:"off=32, siz=16"` binstruct.End `bin:"off=48"` } -func (devext DevExtent) Mapping(key internal.Key) btrfsvol.Mapping { +func (devext DevExtent) Mapping(key btrfsprim.Key) btrfsvol.Mapping { return btrfsvol.Mapping{ LAddr: devext.ChunkOffset, PAddr: btrfsvol.QualifiedPhysicalAddr{ diff --git a/lib/btrfs/btrfsitem/item_dir.go b/lib/btrfs/btrfsitem/item_dir.go index 9df1b8d..836c477 100644 --- a/lib/btrfs/btrfsitem/item_dir.go +++ b/lib/btrfs/btrfsitem/item_dir.go @@ -10,7 +10,7 @@ import ( "git.lukeshu.com/btrfs-progs-ng/lib/binstruct" "git.lukeshu.com/btrfs-progs-ng/lib/binstruct/binutil" - "git.lukeshu.com/btrfs-progs-ng/lib/btrfs/internal" + "git.lukeshu.com/btrfs-progs-ng/lib/btrfs/btrfsprim" ) const MaxNameLen = 255 @@ -24,11 +24,11 @@ func NameHash(dat []byte) uint64 { // - for DIR_ITEM and XATTR_ITEM = NameHash(name) // - for DIR_INDEX = index id in the directory (starting at 2, because "." and "..") type DirEntry struct { // DIR_ITEM=84 DIR_INDEX=96 XATTR_ITEM=24 - Location internal.Key `bin:"off=0x0, siz=0x11"` - TransID int64 `bin:"off=0x11, siz=8"` - DataLen uint16 `bin:"off=0x19, siz=2"` // [ignored-when-writing] - NameLen uint16 `bin:"off=0x1b, siz=2"` // [ignored-when-writing] - Type FileType `bin:"off=0x1d, siz=1"` + Location btrfsprim.Key `bin:"off=0x0, siz=0x11"` + TransID int64 `bin:"off=0x11, siz=8"` + DataLen uint16 `bin:"off=0x19, siz=2"` // [ignored-when-writing] + NameLen uint16 `bin:"off=0x1b, siz=2"` // [ignored-when-writing] + Type FileType `bin:"off=0x1d, siz=1"` binstruct.End `bin:"off=0x1e"` Data []byte `bin:"-"` Name []byte `bin:"-"` diff --git a/lib/btrfs/btrfsitem/item_extent.go b/lib/btrfs/btrfsitem/item_extent.go index e8cd9b9..97dc105 100644 --- a/lib/btrfs/btrfsitem/item_extent.go +++ b/lib/btrfs/btrfsitem/item_extent.go @@ -8,7 +8,7 @@ import ( "fmt" "git.lukeshu.com/btrfs-progs-ng/lib/binstruct" - "git.lukeshu.com/btrfs-progs-ng/lib/btrfs/internal" + "git.lukeshu.com/btrfs-progs-ng/lib/btrfs/btrfsprim" "git.lukeshu.com/btrfs-progs-ng/lib/fmtutil" ) @@ -66,15 +66,15 @@ func (o Extent) MarshalBinary() ([]byte, error) { } type ExtentHeader struct { - Refs int64 `bin:"off=0, siz=8"` - Generation internal.Generation `bin:"off=8, siz=8"` - Flags ExtentFlags `bin:"off=16, siz=8"` + Refs int64 `bin:"off=0, siz=8"` + Generation btrfsprim.Generation `bin:"off=8, siz=8"` + Flags ExtentFlags `bin:"off=16, siz=8"` binstruct.End `bin:"off=24"` } type TreeBlockInfo struct { - Key internal.Key `bin:"off=0, siz=0x11"` - Level uint8 `bin:"off=0x11, siz=0x1"` + Key btrfsprim.Key `bin:"off=0, siz=0x11"` + Level uint8 `bin:"off=0x11, siz=0x1"` binstruct.End `bin:"off=0x12"` } diff --git a/lib/btrfs/btrfsitem/item_extentdataref.go b/lib/btrfs/btrfsitem/item_extentdataref.go index 6185202..74ce799 100644 --- a/lib/btrfs/btrfsitem/item_extentdataref.go +++ b/lib/btrfs/btrfsitem/item_extentdataref.go @@ -6,13 +6,13 @@ package btrfsitem import ( "git.lukeshu.com/btrfs-progs-ng/lib/binstruct" - "git.lukeshu.com/btrfs-progs-ng/lib/btrfs/internal" + "git.lukeshu.com/btrfs-progs-ng/lib/btrfs/btrfsprim" ) type ExtentDataRef struct { // EXTENT_DATA_REF=178 - Root internal.ObjID `bin:"off=0, siz=8"` - ObjectID internal.ObjID `bin:"off=8, siz=8"` - Offset int64 `bin:"off=16, siz=8"` - Count int32 `bin:"off=24, siz=4"` + Root btrfsprim.ObjID `bin:"off=0, siz=8"` + ObjectID btrfsprim.ObjID `bin:"off=8, siz=8"` + Offset int64 `bin:"off=16, siz=8"` + Count int32 `bin:"off=24, siz=4"` binstruct.End `bin:"off=28"` } diff --git a/lib/btrfs/btrfsitem/item_fileextent.go b/lib/btrfs/btrfsitem/item_fileextent.go index b7e394e..83e5d34 100644 --- a/lib/btrfs/btrfsitem/item_fileextent.go +++ b/lib/btrfs/btrfsitem/item_fileextent.go @@ -8,15 +8,15 @@ import ( "fmt" "git.lukeshu.com/btrfs-progs-ng/lib/binstruct" + "git.lukeshu.com/btrfs-progs-ng/lib/btrfs/btrfsprim" "git.lukeshu.com/btrfs-progs-ng/lib/btrfs/btrfsvol" - "git.lukeshu.com/btrfs-progs-ng/lib/btrfs/internal" ) // key.objectid = inode // key.offset = offset within file type FileExtent struct { // EXTENT_DATA=108 - Generation internal.Generation `bin:"off=0x0, siz=0x8"` // transaction ID that created this extent - RAMBytes int64 `bin:"off=0x8, siz=0x8"` // upper bound of what compressed data will decompress to + Generation btrfsprim.Generation `bin:"off=0x0, siz=0x8"` // transaction ID that created this extent + RAMBytes int64 `bin:"off=0x8, siz=0x8"` // upper bound of what compressed data will decompress to // 32 bits describing the data encoding Compression CompressionType `bin:"off=0x10, siz=0x1"` diff --git a/lib/btrfs/btrfsitem/item_inode.go b/lib/btrfs/btrfsitem/item_inode.go index 49b2031..8023156 100644 --- a/lib/btrfs/btrfsitem/item_inode.go +++ b/lib/btrfs/btrfsitem/item_inode.go @@ -6,28 +6,28 @@ package btrfsitem import ( "git.lukeshu.com/btrfs-progs-ng/lib/binstruct" - "git.lukeshu.com/btrfs-progs-ng/lib/btrfs/internal" + "git.lukeshu.com/btrfs-progs-ng/lib/btrfs/btrfsprim" "git.lukeshu.com/btrfs-progs-ng/lib/fmtutil" ) type Inode struct { // INODE_ITEM=1 - Generation internal.Generation `bin:"off=0x00, siz=0x08"` - TransID int64 `bin:"off=0x08, siz=0x08"` - Size int64 `bin:"off=0x10, siz=0x08"` // stat - NumBytes int64 `bin:"off=0x18, siz=0x08"` // allocated bytes, may be larger than size (or smaller if there are holes?) - BlockGroup int64 `bin:"off=0x20, siz=0x08"` - NLink int32 `bin:"off=0x28, siz=0x04"` // stat - UID int32 `bin:"off=0x2C, siz=0x04"` // stat - GID int32 `bin:"off=0x30, siz=0x04"` // stat - Mode StatMode `bin:"off=0x34, siz=0x04"` // stat - RDev int64 `bin:"off=0x38, siz=0x08"` // stat - Flags InodeFlags `bin:"off=0x40, siz=0x08"` // statx.stx_attributes, sorta - Sequence int64 `bin:"off=0x48, siz=0x08"` // NFS - Reserved [4]int64 `bin:"off=0x50, siz=0x20"` - ATime internal.Time `bin:"off=0x70, siz=0x0c"` // stat - CTime internal.Time `bin:"off=0x7c, siz=0x0c"` // stat - MTime internal.Time `bin:"off=0x88, siz=0x0c"` // stat - OTime internal.Time `bin:"off=0x94, siz=0x0c"` // statx.stx_btime (why is this called "otime" instead of "btime"?) + Generation btrfsprim.Generation `bin:"off=0x00, siz=0x08"` + TransID int64 `bin:"off=0x08, siz=0x08"` + Size int64 `bin:"off=0x10, siz=0x08"` // stat + NumBytes int64 `bin:"off=0x18, siz=0x08"` // allocated bytes, may be larger than size (or smaller if there are holes?) + BlockGroup int64 `bin:"off=0x20, siz=0x08"` + NLink int32 `bin:"off=0x28, siz=0x04"` // stat + UID int32 `bin:"off=0x2C, siz=0x04"` // stat + GID int32 `bin:"off=0x30, siz=0x04"` // stat + Mode StatMode `bin:"off=0x34, siz=0x04"` // stat + RDev int64 `bin:"off=0x38, siz=0x08"` // stat + Flags InodeFlags `bin:"off=0x40, siz=0x08"` // statx.stx_attributes, sorta + Sequence int64 `bin:"off=0x48, siz=0x08"` // NFS + Reserved [4]int64 `bin:"off=0x50, siz=0x20"` + ATime btrfsprim.Time `bin:"off=0x70, siz=0x0c"` // stat + CTime btrfsprim.Time `bin:"off=0x7c, siz=0x0c"` // stat + MTime btrfsprim.Time `bin:"off=0x88, siz=0x0c"` // stat + OTime btrfsprim.Time `bin:"off=0x94, siz=0x0c"` // statx.stx_btime (why is this called "otime" instead of "btime"?) binstruct.End `bin:"off=0xa0"` } diff --git a/lib/btrfs/btrfsitem/item_root.go b/lib/btrfs/btrfsitem/item_root.go index 7725363..2e0b327 100644 --- a/lib/btrfs/btrfsitem/item_root.go +++ b/lib/btrfs/btrfsitem/item_root.go @@ -6,37 +6,37 @@ package btrfsitem import ( "git.lukeshu.com/btrfs-progs-ng/lib/binstruct" + "git.lukeshu.com/btrfs-progs-ng/lib/btrfs/btrfsprim" "git.lukeshu.com/btrfs-progs-ng/lib/btrfs/btrfsvol" - "git.lukeshu.com/btrfs-progs-ng/lib/btrfs/internal" "git.lukeshu.com/btrfs-progs-ng/lib/fmtutil" ) type Root struct { // ROOT_ITEM=132 Inode Inode `bin:"off=0x000, siz=0xa0"` - Generation internal.Generation `bin:"off=0x0a0, siz=0x08"` - RootDirID internal.ObjID `bin:"off=0x0a8, siz=0x08"` + Generation btrfsprim.Generation `bin:"off=0x0a0, siz=0x08"` + RootDirID btrfsprim.ObjID `bin:"off=0x0a8, siz=0x08"` ByteNr btrfsvol.LogicalAddr `bin:"off=0x0b0, siz=0x08"` ByteLimit int64 `bin:"off=0x0b8, siz=0x08"` BytesUsed int64 `bin:"off=0x0c0, siz=0x08"` LastSnapshot int64 `bin:"off=0x0c8, siz=0x08"` Flags RootFlags `bin:"off=0x0d0, siz=0x08"` Refs int32 `bin:"off=0x0d8, siz=0x04"` - DropProgress internal.Key `bin:"off=0x0dc, siz=0x11"` + DropProgress btrfsprim.Key `bin:"off=0x0dc, siz=0x11"` DropLevel uint8 `bin:"off=0x0ed, siz=0x01"` Level uint8 `bin:"off=0x0ee, siz=0x01"` - GenerationV2 internal.Generation `bin:"off=0x0ef, siz=0x08"` - UUID internal.UUID `bin:"off=0x0f7, siz=0x10"` - ParentUUID internal.UUID `bin:"off=0x107, siz=0x10"` - ReceivedUUID internal.UUID `bin:"off=0x117, siz=0x10"` + GenerationV2 btrfsprim.Generation `bin:"off=0x0ef, siz=0x08"` + UUID btrfsprim.UUID `bin:"off=0x0f7, siz=0x10"` + ParentUUID btrfsprim.UUID `bin:"off=0x107, siz=0x10"` + ReceivedUUID btrfsprim.UUID `bin:"off=0x117, siz=0x10"` CTransID int64 `bin:"off=0x127, siz=0x08"` OTransID int64 `bin:"off=0x12f, siz=0x08"` STransID int64 `bin:"off=0x137, siz=0x08"` RTransID int64 `bin:"off=0x13f, siz=0x08"` - CTime internal.Time `bin:"off=0x147, siz=0x0c"` - OTime internal.Time `bin:"off=0x153, siz=0x0c"` - STime internal.Time `bin:"off=0x15f, siz=0x0c"` - RTime internal.Time `bin:"off=0x16b, siz=0x0c"` - GlobalTreeID internal.ObjID `bin:"off=0x177, siz=0x08"` + CTime btrfsprim.Time `bin:"off=0x147, siz=0x0c"` + OTime btrfsprim.Time `bin:"off=0x153, siz=0x0c"` + STime btrfsprim.Time `bin:"off=0x15f, siz=0x0c"` + RTime btrfsprim.Time `bin:"off=0x16b, siz=0x0c"` + GlobalTreeID btrfsprim.ObjID `bin:"off=0x177, siz=0x08"` Reserved [7]int64 `bin:"off=0x17f, siz=0x38"` binstruct.End `bin:"off=0x1b7"` } diff --git a/lib/btrfs/btrfsitem/item_rootref.go b/lib/btrfs/btrfsitem/item_rootref.go index 1ee0ee4..d1dfd3b 100644 --- a/lib/btrfs/btrfsitem/item_rootref.go +++ b/lib/btrfs/btrfsitem/item_rootref.go @@ -9,13 +9,13 @@ import ( "git.lukeshu.com/btrfs-progs-ng/lib/binstruct" "git.lukeshu.com/btrfs-progs-ng/lib/binstruct/binutil" - "git.lukeshu.com/btrfs-progs-ng/lib/btrfs/internal" + "git.lukeshu.com/btrfs-progs-ng/lib/btrfs/btrfsprim" ) type RootRef struct { // ROOT_REF=156 ROOT_BACKREF=144 - DirID internal.ObjID `bin:"off=0x00, siz=0x8"` - Sequence int64 `bin:"off=0x08, siz=0x8"` - NameLen uint16 `bin:"off=0x10, siz=0x2"` // [ignored-when-writing] + DirID btrfsprim.ObjID `bin:"off=0x00, siz=0x8"` + Sequence int64 `bin:"off=0x08, siz=0x8"` + NameLen uint16 `bin:"off=0x10, siz=0x2"` // [ignored-when-writing] binstruct.End `bin:"off=0x12"` Name []byte `bin:"-"` } diff --git a/lib/btrfs/btrfsitem/item_untyped.go b/lib/btrfs/btrfsitem/item_untyped.go index 04915c6..acf4ebe 100644 --- a/lib/btrfs/btrfsitem/item_untyped.go +++ b/lib/btrfs/btrfsitem/item_untyped.go @@ -6,13 +6,13 @@ package btrfsitem import ( "git.lukeshu.com/btrfs-progs-ng/lib/binstruct" - "git.lukeshu.com/btrfs-progs-ng/lib/btrfs/internal" + "git.lukeshu.com/btrfs-progs-ng/lib/btrfs/btrfsprim" ) type FreeSpaceHeader struct { // UNTYPED=0:FREE_SPACE_OBJECTID - Location internal.Key `bin:"off=0x00, siz=0x11"` - Generation internal.Generation `bin:"off=0x11, siz=0x8"` - NumEntries int64 `bin:"off=0x19, siz=0x8"` - NumBitmaps int64 `bin:"off=0x21, siz=0x8"` + Location btrfsprim.Key `bin:"off=0x00, siz=0x11"` + Generation btrfsprim.Generation `bin:"off=0x11, siz=0x8"` + NumEntries int64 `bin:"off=0x19, siz=0x8"` + NumBitmaps int64 `bin:"off=0x21, siz=0x8"` binstruct.End `bin:"off=0x29"` } diff --git a/lib/btrfs/btrfsitem/item_uuid.go b/lib/btrfs/btrfsitem/item_uuid.go index ca82652..03823ce 100644 --- a/lib/btrfs/btrfsitem/item_uuid.go +++ b/lib/btrfs/btrfsitem/item_uuid.go @@ -6,7 +6,7 @@ package btrfsitem import ( "git.lukeshu.com/btrfs-progs-ng/lib/binstruct" - "git.lukeshu.com/btrfs-progs-ng/lib/btrfs/internal" + "git.lukeshu.com/btrfs-progs-ng/lib/btrfs/btrfsprim" ) // The Key for this item is a UUID, and the item is a subvolume IDs @@ -15,6 +15,6 @@ import ( // key.objectid = first half of UUID // key.offset = second half of UUID type UUIDMap struct { // UUID_SUBVOL=251 UUID_RECEIVED_SUBVOL=252 - ObjID internal.ObjID `bin:"off=0, siz=8"` + ObjID btrfsprim.ObjID `bin:"off=0, siz=8"` binstruct.End `bin:"off=8"` } diff --git a/lib/btrfs/btrfsitem/items.go b/lib/btrfs/btrfsitem/items.go index 35d8b4f..29b3cb0 100644 --- a/lib/btrfs/btrfsitem/items.go +++ b/lib/btrfs/btrfsitem/items.go @@ -9,12 +9,12 @@ import ( "reflect" "git.lukeshu.com/btrfs-progs-ng/lib/binstruct" + "git.lukeshu.com/btrfs-progs-ng/lib/btrfs/btrfsprim" "git.lukeshu.com/btrfs-progs-ng/lib/btrfs/btrfssum" "git.lukeshu.com/btrfs-progs-ng/lib/btrfs/btrfsvol" - "git.lukeshu.com/btrfs-progs-ng/lib/btrfs/internal" ) -type Type = internal.ItemType +type Type = btrfsprim.ItemType type Item interface { isItem() @@ -37,7 +37,7 @@ func (o *Error) UnmarshalBinary(dat []byte) (int, error) { } // Rather than returning a separate error value, return an Error item. -func UnmarshalItem(key internal.Key, csumType btrfssum.CSumType, dat []byte) Item { +func UnmarshalItem(key btrfsprim.Key, csumType btrfssum.CSumType, dat []byte) Item { var gotyp reflect.Type if key.ItemType == UNTYPED_KEY { var ok bool diff --git a/lib/btrfs/btrfsitem/items_gen.go b/lib/btrfs/btrfsitem/items_gen.go index d21cd3e..89bc171 100644 --- a/lib/btrfs/btrfsitem/items_gen.go +++ b/lib/btrfs/btrfsitem/items_gen.go @@ -7,39 +7,39 @@ package btrfsitem import ( "reflect" - "git.lukeshu.com/btrfs-progs-ng/lib/btrfs/internal" + "git.lukeshu.com/btrfs-progs-ng/lib/btrfs/btrfsprim" ) const ( - BLOCK_GROUP_ITEM_KEY = internal.BLOCK_GROUP_ITEM_KEY - CHUNK_ITEM_KEY = internal.CHUNK_ITEM_KEY - DEV_EXTENT_KEY = internal.DEV_EXTENT_KEY - DEV_ITEM_KEY = internal.DEV_ITEM_KEY - DIR_INDEX_KEY = internal.DIR_INDEX_KEY - DIR_ITEM_KEY = internal.DIR_ITEM_KEY - EXTENT_CSUM_KEY = internal.EXTENT_CSUM_KEY - EXTENT_DATA_KEY = internal.EXTENT_DATA_KEY - EXTENT_DATA_REF_KEY = internal.EXTENT_DATA_REF_KEY - EXTENT_ITEM_KEY = internal.EXTENT_ITEM_KEY - FREE_SPACE_BITMAP_KEY = internal.FREE_SPACE_BITMAP_KEY - FREE_SPACE_EXTENT_KEY = internal.FREE_SPACE_EXTENT_KEY - FREE_SPACE_INFO_KEY = internal.FREE_SPACE_INFO_KEY - INODE_ITEM_KEY = internal.INODE_ITEM_KEY - INODE_REF_KEY = internal.INODE_REF_KEY - METADATA_ITEM_KEY = internal.METADATA_ITEM_KEY - ORPHAN_ITEM_KEY = internal.ORPHAN_ITEM_KEY - PERSISTENT_ITEM_KEY = internal.PERSISTENT_ITEM_KEY - QGROUP_RELATION_KEY = internal.QGROUP_RELATION_KEY - ROOT_BACKREF_KEY = internal.ROOT_BACKREF_KEY - ROOT_ITEM_KEY = internal.ROOT_ITEM_KEY - ROOT_REF_KEY = internal.ROOT_REF_KEY - SHARED_BLOCK_REF_KEY = internal.SHARED_BLOCK_REF_KEY - SHARED_DATA_REF_KEY = internal.SHARED_DATA_REF_KEY - TREE_BLOCK_REF_KEY = internal.TREE_BLOCK_REF_KEY - UNTYPED_KEY = internal.UNTYPED_KEY - UUID_RECEIVED_SUBVOL_KEY = internal.UUID_RECEIVED_SUBVOL_KEY - UUID_SUBVOL_KEY = internal.UUID_SUBVOL_KEY - XATTR_ITEM_KEY = internal.XATTR_ITEM_KEY + BLOCK_GROUP_ITEM_KEY = btrfsprim.BLOCK_GROUP_ITEM_KEY + CHUNK_ITEM_KEY = btrfsprim.CHUNK_ITEM_KEY + DEV_EXTENT_KEY = btrfsprim.DEV_EXTENT_KEY + DEV_ITEM_KEY = btrfsprim.DEV_ITEM_KEY + DIR_INDEX_KEY = btrfsprim.DIR_INDEX_KEY + DIR_ITEM_KEY = btrfsprim.DIR_ITEM_KEY + EXTENT_CSUM_KEY = btrfsprim.EXTENT_CSUM_KEY + EXTENT_DATA_KEY = btrfsprim.EXTENT_DATA_KEY + EXTENT_DATA_REF_KEY = btrfsprim.EXTENT_DATA_REF_KEY + EXTENT_ITEM_KEY = btrfsprim.EXTENT_ITEM_KEY + FREE_SPACE_BITMAP_KEY = btrfsprim.FREE_SPACE_BITMAP_KEY + FREE_SPACE_EXTENT_KEY = btrfsprim.FREE_SPACE_EXTENT_KEY + FREE_SPACE_INFO_KEY = btrfsprim.FREE_SPACE_INFO_KEY + INODE_ITEM_KEY = btrfsprim.INODE_ITEM_KEY + INODE_REF_KEY = btrfsprim.INODE_REF_KEY + METADATA_ITEM_KEY = btrfsprim.METADATA_ITEM_KEY + ORPHAN_ITEM_KEY = btrfsprim.ORPHAN_ITEM_KEY + PERSISTENT_ITEM_KEY = btrfsprim.PERSISTENT_ITEM_KEY + QGROUP_RELATION_KEY = btrfsprim.QGROUP_RELATION_KEY + ROOT_BACKREF_KEY = btrfsprim.ROOT_BACKREF_KEY + ROOT_ITEM_KEY = btrfsprim.ROOT_ITEM_KEY + ROOT_REF_KEY = btrfsprim.ROOT_REF_KEY + SHARED_BLOCK_REF_KEY = btrfsprim.SHARED_BLOCK_REF_KEY + SHARED_DATA_REF_KEY = btrfsprim.SHARED_DATA_REF_KEY + TREE_BLOCK_REF_KEY = btrfsprim.TREE_BLOCK_REF_KEY + UNTYPED_KEY = btrfsprim.UNTYPED_KEY + UUID_RECEIVED_SUBVOL_KEY = btrfsprim.UUID_RECEIVED_SUBVOL_KEY + UUID_SUBVOL_KEY = btrfsprim.UUID_SUBVOL_KEY + XATTR_ITEM_KEY = btrfsprim.XATTR_ITEM_KEY ) var keytype2gotype = map[Type]reflect.Type{ @@ -72,8 +72,8 @@ var keytype2gotype = map[Type]reflect.Type{ UUID_SUBVOL_KEY: reflect.TypeOf(UUIDMap{}), XATTR_ITEM_KEY: reflect.TypeOf(DirEntry{}), } -var untypedObjID2gotype = map[internal.ObjID]reflect.Type{ - internal.FREE_SPACE_OBJECTID: reflect.TypeOf(FreeSpaceHeader{}), +var untypedObjID2gotype = map[btrfsprim.ObjID]reflect.Type{ + btrfsprim.FREE_SPACE_OBJECTID: reflect.TypeOf(FreeSpaceHeader{}), } func (BlockGroup) isItem() {} diff --git a/lib/btrfs/btrfsitem/items_test.go b/lib/btrfs/btrfsitem/items_test.go index aba8ca2..46f2feb 100644 --- a/lib/btrfs/btrfsitem/items_test.go +++ b/lib/btrfs/btrfsitem/items_test.go @@ -11,12 +11,12 @@ import ( "git.lukeshu.com/btrfs-progs-ng/lib/binstruct" "git.lukeshu.com/btrfs-progs-ng/lib/btrfs/btrfsitem" + "git.lukeshu.com/btrfs-progs-ng/lib/btrfs/btrfsprim" "git.lukeshu.com/btrfs-progs-ng/lib/btrfs/btrfssum" - "git.lukeshu.com/btrfs-progs-ng/lib/btrfs/internal" ) func FuzzRoundTrip(f *testing.F) { - keySize := binstruct.StaticSize(internal.Key{}) + keySize := binstruct.StaticSize(btrfsprim.Key{}) sumtypeSize := binstruct.StaticSize(btrfssum.CSumType(0)) f.Add(make([]byte, 256)) @@ -31,7 +31,7 @@ func FuzzRoundTrip(f *testing.F) { // key - var key internal.Key + var key btrfsprim.Key n, err := binstruct.Unmarshal(keyInDat, &key) require.NoError(t, err, "binstruct.Unmarshal(dat, &key)") require.Equal(t, keySize, n, "binstruct.Unmarshal(dat, &key)") |