summaryrefslogtreecommitdiff
path: root/pkg/btrfs/btrfsitem/item_devextent.go
diff options
context:
space:
mode:
authorLuke Shumaker <lukeshu@lukeshu.com>2022-06-26 22:19:29 -0600
committerLuke Shumaker <lukeshu@lukeshu.com>2022-06-26 22:19:41 -0600
commit8463b2bff37978124e5210a59590f1ac33e453c0 (patch)
tree37fc4c13f1fdaedf20ee48a53653414fbb3d9ed7 /pkg/btrfs/btrfsitem/item_devextent.go
parent64c04fc690ec5a276e11500691173962bbe4d99e (diff)
use devid instead of devuuid, add a Mapping struct
Diffstat (limited to 'pkg/btrfs/btrfsitem/item_devextent.go')
-rw-r--r--pkg/btrfs/btrfsitem/item_devextent.go12
1 files changed, 12 insertions, 0 deletions
diff --git a/pkg/btrfs/btrfsitem/item_devextent.go b/pkg/btrfs/btrfsitem/item_devextent.go
index 03d696a..c7707bd 100644
--- a/pkg/btrfs/btrfsitem/item_devextent.go
+++ b/pkg/btrfs/btrfsitem/item_devextent.go
@@ -17,3 +17,15 @@ type DevExtent struct { // DEV_EXTENT=204
ChunkTreeUUID util.UUID `bin:"off=32, siz=16"`
binstruct.End `bin:"off=48"`
}
+
+func (devext DevExtent) Mapping(key internal.Key) btrfsvol.Mapping {
+ return btrfsvol.Mapping{
+ LAddr: devext.ChunkOffset,
+ PAddr: btrfsvol.QualifiedPhysicalAddr{
+ Dev: btrfsvol.DeviceID(key.ObjectID),
+ Addr: btrfsvol.PhysicalAddr(key.Offset),
+ },
+ Size: devext.Length,
+ Flags: nil,
+ }
+}