summaryrefslogtreecommitdiff
path: root/cmd/btrfs-rec
diff options
context:
space:
mode:
authorLuke Shumaker <lukeshu@lukeshu.com>2023-03-31 18:01:47 -0600
committerLuke Shumaker <lukeshu@lukeshu.com>2023-04-04 14:08:38 -0600
commitc1578391cc2089cd224fd8325c333038e0ba7b7b (patch)
treeeb003ba90cb0f8b1863167dec670b4ef0f80f29a /cmd/btrfs-rec
parent1ba83231195ea3b78ce545f4518f70c74819345b (diff)
maps: Add HasKey and HaveAnyKeysInCommon functions, use them
Diffstat (limited to 'cmd/btrfs-rec')
-rw-r--r--cmd/btrfs-rec/inspect/rebuildmappings/process.go2
-rw-r--r--cmd/btrfs-rec/inspect/rebuildtrees/rebuild.go22
2 files changed, 6 insertions, 18 deletions
diff --git a/cmd/btrfs-rec/inspect/rebuildmappings/process.go b/cmd/btrfs-rec/inspect/rebuildmappings/process.go
index 7a49cc6..2e694b5 100644
--- a/cmd/btrfs-rec/inspect/rebuildmappings/process.go
+++ b/cmd/btrfs-rec/inspect/rebuildmappings/process.go
@@ -38,7 +38,7 @@ func RebuildMappings(ctx context.Context, fs *btrfs.FS, scanResults ScanDevicesR
devIDs := maps.SortedKeys(scanResults)
devices := fs.LV.PhysicalVolumes()
for _, devID := range devIDs {
- if _, ok := devices[devID]; !ok {
+ if !maps.HasKey(devices, devID) {
return fmt.Errorf("device ID %v mentioned in scan results is not part of the filesystem", devID)
}
devResults := scanResults[devID]
diff --git a/cmd/btrfs-rec/inspect/rebuildtrees/rebuild.go b/cmd/btrfs-rec/inspect/rebuildtrees/rebuild.go
index 0d25ac3..2160969 100644
--- a/cmd/btrfs-rec/inspect/rebuildtrees/rebuild.go
+++ b/cmd/btrfs-rec/inspect/rebuildtrees/rebuild.go
@@ -517,24 +517,12 @@ func (o *rebuilder) resolveTreeAugments(ctx context.Context, treeID btrfsprim.Ob
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
func (queue *treeAugmentQueue) has(wantKey want) bool {
- if queue != nil {
- if queue.zero != nil {
- if _, ok := queue.zero[wantKey]; ok {
- return true
- }
- }
- if queue.single != nil {
- if _, ok := queue.single[wantKey]; ok {
- return true
- }
- }
- if queue.multi != nil {
- if _, ok := queue.multi[wantKey]; ok {
- return true
- }
- }
+ if queue == nil {
+ return false
}
- return false
+ return (queue.zero != nil && maps.HasKey(queue.zero, wantKey)) ||
+ (queue.single != nil && maps.HasKey(queue.single, wantKey)) ||
+ (queue.multi != nil && maps.HasKey(queue.multi, wantKey))
}
func (queue *treeAugmentQueue) store(wantKey want, choices containers.Set[btrfsvol.LogicalAddr]) {