From 5627aaea2c15a6fa8cca202614119f72972be37f Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Fri, 15 Jul 2022 14:36:47 -0600 Subject: tidy up --- lib/btrfs/btrfsvol/chunk.go | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) (limited to 'lib/btrfs/btrfsvol/chunk.go') diff --git a/lib/btrfs/btrfsvol/chunk.go b/lib/btrfs/btrfsvol/chunk.go index 9c77a49..8a2d439 100644 --- a/lib/btrfs/btrfsvol/chunk.go +++ b/lib/btrfs/btrfsvol/chunk.go @@ -8,6 +8,7 @@ import ( "fmt" "sort" + "git.lukeshu.com/btrfs-progs-ng/lib/containers" "git.lukeshu.com/btrfs-progs-ng/lib/maps" "git.lukeshu.com/btrfs-progs-ng/lib/slices" ) @@ -18,7 +19,7 @@ type chunkMapping struct { PAddrs []QualifiedPhysicalAddr Size AddrDelta SizeLocked bool - Flags *BlockGroupFlags + Flags containers.Optional[BlockGroupFlags] } type ChunkMapping = chunkMapping @@ -73,10 +74,7 @@ func (a chunkMapping) union(rest ...chunkMapping) (chunkMapping, error) { for _, chunk := range chunks { offsetWithinRet := chunk.LAddr.Sub(ret.LAddr) for _, stripe := range chunk.PAddrs { - paddrs[QualifiedPhysicalAddr{ - Dev: stripe.Dev, - Addr: stripe.Addr.Add(-offsetWithinRet), - }] = struct{}{} + paddrs[stripe.Add(-offsetWithinRet)] = struct{}{} } } ret.PAddrs = maps.Keys(paddrs) @@ -85,15 +83,14 @@ func (a chunkMapping) union(rest ...chunkMapping) (chunkMapping, error) { }) // figure out the flags (.Flags) for _, chunk := range chunks { - if chunk.Flags == nil { + if !chunk.Flags.OK { continue } - if ret.Flags == nil { - val := *chunk.Flags - ret.Flags = &val + if !ret.Flags.OK { + ret.Flags = chunk.Flags } - if *ret.Flags != *chunk.Flags { - return ret, fmt.Errorf("mismatch flags: %v != %v", *ret.Flags, *chunk.Flags) + if ret.Flags != chunk.Flags { + return ret, fmt.Errorf("mismatch flags: %v != %v", ret.Flags.Val, chunk.Flags.Val) } } // done -- cgit v1.2.3-2-g168b