From 8c0cd098239e3e9b8b335505c7cd512913bf9dc2 Mon Sep 17 00:00:00 2001 From: Vladimir Golovnev Date: Sun, 22 May 2022 07:23:52 +0300 Subject: [PATCH] Handle all "fastresume rejected" cases consistently PR #17064. --- src/base/bittorrent/torrentimpl.cpp | 20 ++++---------------- src/base/bittorrent/torrentimpl.h | 1 - 2 files changed, 4 insertions(+), 17 deletions(-) diff --git a/src/base/bittorrent/torrentimpl.cpp b/src/base/bittorrent/torrentimpl.cpp index 2b7f1893a..9a1573eb1 100644 --- a/src/base/bittorrent/torrentimpl.cpp +++ b/src/base/bittorrent/torrentimpl.cpp @@ -1726,9 +1726,6 @@ void TorrentImpl::handleTorrentCheckedAlert(const lt::torrent_checked_alert *p) if (m_nativeStatus.need_save_resume) m_session->handleTorrentNeedSaveResumeData(this); - if (m_fastresumeDataRejected && !m_hasMissingFiles) - m_fastresumeDataRejected = false; - if (!m_hasMissingFiles) { if ((progress() < 1.0) && (wantedSize() > 0)) @@ -1895,19 +1892,10 @@ void TorrentImpl::handleSaveResumeDataFailedAlert(const lt::save_resume_data_fai void TorrentImpl::handleFastResumeRejectedAlert(const lt::fastresume_rejected_alert *p) { - m_fastresumeDataRejected = true; - - if (p->error.value() == lt::errors::mismatching_file_size) - { - // Mismatching file size (files were probably moved) - m_hasMissingFiles = true; - LogMsg(tr("File sizes mismatch for torrent '%1'. Cannot proceed further.").arg(name()), Log::CRITICAL); - } - else - { - LogMsg(tr("Fast resume data was rejected for torrent '%1'. Reason: %2. Checking again...") - .arg(name(), QString::fromStdString(p->message())), Log::WARNING); - } + // Files were probably moved or storage isn't accessible + m_hasMissingFiles = true; + LogMsg(tr("Failed to restore torrent. Files were probably moved or storage isn't accessible. Torrent: \"%1\". Reason: \"%2\"") + .arg(name(), QString::fromStdString(p->message())), Log::WARNING); } void TorrentImpl::handleFileRenamedAlert(const lt::file_renamed_alert *p) diff --git a/src/base/bittorrent/torrentimpl.h b/src/base/bittorrent/torrentimpl.h index 0a6fe698a..3c5d60d95 100644 --- a/src/base/bittorrent/torrentimpl.h +++ b/src/base/bittorrent/torrentimpl.h @@ -324,7 +324,6 @@ namespace BitTorrent TorrentOperatingMode m_operatingMode; TorrentContentLayout m_contentLayout; bool m_hasSeedStatus; - bool m_fastresumeDataRejected = false; bool m_hasMissingFiles = false; bool m_hasFirstLastPiecePriority = false; bool m_useAutoTMM;