summaryrefslogtreecommitdiff
path: root/pkg
diff options
context:
space:
mode:
authorLuke Shumaker <lukeshu@lukeshu.com>2022-06-26 23:19:43 -0600
committerLuke Shumaker <lukeshu@lukeshu.com>2022-06-26 23:19:43 -0600
commitceded5a24a1bde2c9d9d731464e29675e8af3210 (patch)
treedefbd2bf7c5343ea3d714979191b83bb01086c57 /pkg
parent00f0caa1c3c0d236aeb74705caa9c71ebe58963e (diff)
optimize
Diffstat (limited to 'pkg')
-rw-r--r--pkg/btrfs/btrfsvol/lvm.go6
1 files changed, 6 insertions, 0 deletions
diff --git a/pkg/btrfs/btrfsvol/lvm.go b/pkg/btrfs/btrfsvol/lvm.go
index a145f3e..d11b2f0 100644
--- a/pkg/btrfs/btrfsvol/lvm.go
+++ b/pkg/btrfs/btrfsvol/lvm.go
@@ -122,6 +122,12 @@ func (lv *LogicalVolume[PhysicalVolume]) AddMapping(m Mapping) error {
return fmt.Errorf("(%p).AddMapping: %w", lv, err)
}
+ // optimize
+ if len(logicalOverlaps) == 1 && reflect.DeepEqual(newChunk, logicalOverlaps[0]) &&
+ len(physicalOverlaps) == 1 && reflect.DeepEqual(newExt, physicalOverlaps[0]) {
+ return nil
+ }
+
// logical2physical
for _, chunk := range logicalOverlaps {
lv.logical2physical = util.RemoveAllFromSliceFunc(lv.logical2physical, func(otherChunk chunkMapping) bool {