summaryrefslogtreecommitdiff
path: root/lib/btrfs/btrfsitem
diff options
context:
space:
mode:
Diffstat (limited to 'lib/btrfs/btrfsitem')
-rw-r--r--lib/btrfs/btrfsitem/item_blockgroup.go4
-rw-r--r--lib/btrfs/btrfsitem/item_chunk.go8
-rw-r--r--lib/btrfs/btrfsitem/item_dev.go18
-rw-r--r--lib/btrfs/btrfsitem/item_devextent.go8
-rw-r--r--lib/btrfs/btrfsitem/item_dir.go12
-rw-r--r--lib/btrfs/btrfsitem/item_extent.go12
-rw-r--r--lib/btrfs/btrfsitem/item_extentdataref.go10
-rw-r--r--lib/btrfs/btrfsitem/item_fileextent.go6
-rw-r--r--lib/btrfs/btrfsitem/item_inode.go36
-rw-r--r--lib/btrfs/btrfsitem/item_root.go26
-rw-r--r--lib/btrfs/btrfsitem/item_rootref.go8
-rw-r--r--lib/btrfs/btrfsitem/item_untyped.go10
-rw-r--r--lib/btrfs/btrfsitem/item_uuid.go4
-rw-r--r--lib/btrfs/btrfsitem/items.go6
-rw-r--r--lib/btrfs/btrfsitem/items_gen.go64
-rw-r--r--lib/btrfs/btrfsitem/items_test.go6
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)")