diff options
Diffstat (limited to 'pkg/btrfs/btrfsitem/item_devextent.go')
-rw-r--r-- | pkg/btrfs/btrfsitem/item_devextent.go | 12 |
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, + } +} |