From be002362b35bd57e66700374edc7a85f23335654 Mon Sep 17 00:00:00 2001 From: Simon Frei Date: Thu, 24 Apr 2025 03:29:30 +0200 Subject: [PATCH] fix(model): loop-break regression while block copying in puller (#10069) --- lib/model/folder_sendrecv.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/model/folder_sendrecv.go b/lib/model/folder_sendrecv.go index 03718fb91..fe48a1b4b 100644 --- a/lib/model/folder_sendrecv.go +++ b/lib/model/folder_sendrecv.go @@ -1346,6 +1346,7 @@ func (f *sendReceiveFolder) copierRoutine(in <-chan copyBlocksState, pullChan ch found := false blocks, _ := f.model.sdb.AllLocalBlocksWithHash(block.Hash) + innerBlocks: for _, e := range blocks { res, err := f.model.sdb.AllLocalFilesWithBlocksHashAnyFolder(e.BlocklistHash) if err != nil { @@ -1387,7 +1388,7 @@ func (f *sendReceiveFolder) copierRoutine(in <-chan copyBlocksState, pullChan ch } if err != nil { state.fail(fmt.Errorf("dst write: %w", err)) - break + break innerBlocks } if fi.Name == state.file.Name { state.copiedFromOrigin(block.Size) @@ -1395,7 +1396,7 @@ func (f *sendReceiveFolder) copierRoutine(in <-chan copyBlocksState, pullChan ch state.copiedFromElsewhere(block.Size) } found = true - break + break innerBlocks } } }