diff --git a/src/duplicacy_chunkdownloader.go b/src/duplicacy_chunkdownloader.go index 2ad8ef2..e0fb883 100644 --- a/src/duplicacy_chunkdownloader.go +++ b/src/duplicacy_chunkdownloader.go @@ -254,6 +254,9 @@ func (downloader *ChunkDownloader) WaitForChunk(chunkIndex int) (chunk *Chunk) { downloader.taskList[completion.chunkIndex].chunk = completion.chunk downloader.numberOfDownloadedChunks++ downloader.numberOfDownloadingChunks-- + if completion.chunk.isBroken { + downloader.NumberOfFailedChunks++ + } } return downloader.taskList[chunkIndex].chunk } diff --git a/src/duplicacy_snapshotmanager.go b/src/duplicacy_snapshotmanager.go index b41b520..dfa9e6d 100644 --- a/src/duplicacy_snapshotmanager.go +++ b/src/duplicacy_snapshotmanager.go @@ -1041,6 +1041,9 @@ func (manager *SnapshotManager) CheckSnapshots(snapshotID string, revisionsToChe totalChunks := len(*allChunkHashes) for i := 0; i < totalChunks; i++ { chunk := manager.chunkDownloader.WaitForChunk(i + chunkIndex) + if chunk.isBroken { + continue + } downloadedChunkSize += int64(chunk.GetLength()) elapsedTime := time.Now().Sub(startTime).Seconds()