|
@@ -1060,6 +1060,14 @@ func (f *sendReceiveFolder) handleFile(file protocol.FileInfo, snap *db.Snapshot
|
|
|
// Check for an old temporary file which might have some blocks we could
|
|
|
// reuse.
|
|
|
tempBlocks, err := scanner.HashFile(f.ctx, f.fs, tempName, file.BlockSize(), nil, false)
|
|
|
+ if err != nil {
|
|
|
+ var caseErr *fs.ErrCaseConflict
|
|
|
+ if errors.As(err, &caseErr) {
|
|
|
+ if rerr := f.fs.Rename(caseErr.Real, tempName); rerr == nil {
|
|
|
+ tempBlocks, err = scanner.HashFile(f.ctx, f.fs, tempName, file.BlockSize(), nil, false)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
if err == nil {
|
|
|
// Check for any reusable blocks in the temp file
|
|
|
tempCopyBlocks, _ := blockDiff(tempBlocks, file.Blocks)
|