summaryrefslogtreecommitdiff
path: root/pkg/btrfs/btrfsitem/item_devextent.go
diff options
context:
space:
mode:
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,
+ }
+}