From 188ee2ed91aa7276bb1b353bc931530716c5b8dd Mon Sep 17 00:00:00 2001 From: Erik Verbruggen Date: Thu, 8 Sep 2022 14:31:42 +0200 Subject: More detailed debug logging --- src/libsync/discovery.cpp | 10 ++++++++-- src/libsync/filesystem.cpp | 3 ++- src/libsync/propagatedownload.cpp | 2 +- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/libsync/discovery.cpp b/src/libsync/discovery.cpp index 984f33b5d..b89be8453 100644 --- a/src/libsync/discovery.cpp +++ b/src/libsync/discovery.cpp @@ -1039,8 +1039,14 @@ void ProcessDirectoryJob::processFileConflict(const SyncFileItemPtr &item, const // If there's no content hash, use heuristics if (serverEntry.checksumHeader.isEmpty()) { // If the size or mtime is different, it's definitely a conflict. - bool isConflict = (serverEntry.size != localEntry.size) || (serverEntry.modtime != localEntry.modtime); - + bool sizeDiffers = serverEntry.size != localEntry.size; + bool modTimeDiffers = serverEntry.modtime != localEntry.modtime; + bool isConflict = sizeDiffers || modTimeDiffers; + if (isConflict) { + qCDebug(lcDisco) << serverEntry.name << ": detected conflict: size difference: " << sizeDiffers << "mtime difference: " << modTimeDiffers; + } else { + qCDebug(lcDisco) << serverEntry.name << ": no conflict detected"; + } // It could be a conflict even if size and mtime match! // // In older client versions we always treated these cases as a diff --git a/src/libsync/filesystem.cpp b/src/libsync/filesystem.cpp index 1c0f89158..af0b1a71a 100644 --- a/src/libsync/filesystem.cpp +++ b/src/libsync/filesystem.cpp @@ -82,7 +82,8 @@ bool FileSystem::setModTime(const QString &filename, time_t modTime) int rc = c_utimes(filename, times); if (rc != 0) { qCWarning(lcFileSystem) << "Error setting mtime for" << filename - << "failed: rc" << rc << ", errno:" << errno; + << "failed: rc" << rc << ", errno:" << errno + << ", strerr: " << strerror(errno); Q_ASSERT(false); return false; } diff --git a/src/libsync/propagatedownload.cpp b/src/libsync/propagatedownload.cpp index 43be0181e..a76876580 100644 --- a/src/libsync/propagatedownload.cpp +++ b/src/libsync/propagatedownload.cpp @@ -953,7 +953,7 @@ void PropagateDownloadFile::downloadFinished() emit propagator()->touchedFile(fn); // The fileChanged() check is done above to generate better error messages. if (!FileSystem::uncheckedRenameReplace(_tmpFile.fileName(), fn, &error)) { - qCWarning(lcPropagateDownload) << "Rename failed:" << _tmpFile.fileName() << "=>" << fn; + qCWarning(lcPropagateDownload) << "Rename failed:" << _tmpFile.fileName() << "=>" << fn << "with error:" << error; propagator()->_anotherSyncNeeded = true; done(SyncFileItem::SoftError, error); return; -- cgit v1.2.3