From ceded5a24a1bde2c9d9d731464e29675e8af3210 Mon Sep 17 00:00:00 2001
From: Luke Shumaker <lukeshu@lukeshu.com>
Date: Sun, 26 Jun 2022 23:19:43 -0600
Subject: optimize

---
 pkg/btrfs/btrfsvol/lvm.go | 6 ++++++
 1 file changed, 6 insertions(+)

(limited to 'pkg/btrfs/btrfsvol')

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 {
-- 
cgit v1.2.3-2-g168b