summaryrefslogtreecommitdiff
path: root/lib/btrfs/btrfsvol/lvm.go
diff options
context:
space:
mode:
authorLuke Shumaker <lukeshu@lukeshu.com>2022-07-15 14:36:47 -0600
committerLuke Shumaker <lukeshu@lukeshu.com>2022-07-15 15:51:32 -0600
commit5627aaea2c15a6fa8cca202614119f72972be37f (patch)
tree45e6199cb43fc0e64ca7714872cffd86a37d4959 /lib/btrfs/btrfsvol/lvm.go
parentd9cb7963948cfb1d705c35653f5237a5e8fee3f3 (diff)
tidy up
Diffstat (limited to 'lib/btrfs/btrfsvol/lvm.go')
-rw-r--r--lib/btrfs/btrfsvol/lvm.go16
1 files changed, 4 insertions, 12 deletions
diff --git a/lib/btrfs/btrfsvol/lvm.go b/lib/btrfs/btrfsvol/lvm.go
index 149c8cd..9b16e10 100644
--- a/lib/btrfs/btrfsvol/lvm.go
+++ b/lib/btrfs/btrfsvol/lvm.go
@@ -113,8 +113,8 @@ type Mapping struct {
LAddr LogicalAddr
PAddr QualifiedPhysicalAddr
Size AddrDelta
- SizeLocked bool `json:",omitempty"`
- Flags *BlockGroupFlags `json:",omitempty"`
+ SizeLocked bool `json:",omitempty"`
+ Flags containers.Optional[BlockGroupFlags] `json:",omitempty"`
}
func (lv *LogicalVolume[PhysicalVolume]) AddMapping(m Mapping) error {
@@ -232,17 +232,12 @@ func (lv *LogicalVolume[PhysicalVolume]) Mappings() []Mapping {
var ret []Mapping
_ = lv.logical2physical.Walk(func(node *containers.RBNode[chunkMapping]) error {
chunk := node.Value
- var flags *BlockGroupFlags
- if chunk.Flags != nil {
- val := *chunk.Flags
- flags = &val
- }
for _, slice := range chunk.PAddrs {
ret = append(ret, Mapping{
LAddr: chunk.LAddr,
PAddr: slice,
Size: chunk.Size,
- Flags: flags,
+ Flags: chunk.Flags,
})
}
return nil
@@ -264,10 +259,7 @@ func (lv *LogicalVolume[PhysicalVolume]) Resolve(laddr LogicalAddr) (paddrs map[
paddrs = make(map[QualifiedPhysicalAddr]struct{})
maxlen = chunk.Size - offsetWithinChunk
for _, stripe := range chunk.PAddrs {
- paddrs[QualifiedPhysicalAddr{
- Dev: stripe.Dev,
- Addr: stripe.Addr.Add(offsetWithinChunk),
- }] = struct{}{}
+ paddrs[stripe.Add(offsetWithinChunk)] = struct{}{}
}
return paddrs, maxlen