diff options
author | Luke Shumaker <lukeshu@lukeshu.com> | 2022-06-26 23:19:43 -0600 |
---|---|---|
committer | Luke Shumaker <lukeshu@lukeshu.com> | 2022-06-26 23:19:43 -0600 |
commit | ceded5a24a1bde2c9d9d731464e29675e8af3210 (patch) | |
tree | defbd2bf7c5343ea3d714979191b83bb01086c57 /pkg/btrfs | |
parent | 00f0caa1c3c0d236aeb74705caa9c71ebe58963e (diff) |
optimize
Diffstat (limited to 'pkg/btrfs')
-rw-r--r-- | pkg/btrfs/btrfsvol/lvm.go | 6 |
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 { |