From 3948da5cfd0aa674d4dea777d0bc5e26884d2964 Mon Sep 17 00:00:00 2001 From: Felicitas Pojtinger Date: Fri, 17 Dec 2021 15:53:53 +0100 Subject: [PATCH] fix: Support no-op move operation --- pkg/operations/move.go | 5 +++++ pkg/recovery/index.go | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/pkg/operations/move.go b/pkg/operations/move.go index 4c361cf..6bbdd5c 100644 --- a/pkg/operations/move.go +++ b/pkg/operations/move.go @@ -16,6 +16,11 @@ import ( ) func (o *Operations) Move(from string, to string) error { + // Ignore no-op move operation + if from == to { + return nil + } + o.diskOperationLock.Lock() defer o.diskOperationLock.Unlock() diff --git a/pkg/recovery/index.go b/pkg/recovery/index.go index 6cdcf5b..404b227 100644 --- a/pkg/recovery/index.go +++ b/pkg/recovery/index.go @@ -298,7 +298,7 @@ func indexHeader( case records.STFSRecordActionUpdate: moveAfterEdits := false oldName := hdr.Name - if _, ok := hdr.PAXRecords[records.STFSRecordReplacesName]; ok { + if _, ok := hdr.PAXRecords[records.STFSRecordReplacesName]; ok && oldName != hdr.Name { moveAfterEdits = true oldName = hdr.PAXRecords[records.STFSRecordReplacesName] }