From bf02ccc1e8d4649fdb880fa46a8d7196db198dd2 Mon Sep 17 00:00:00 2001 From: ckamm Date: Mon, 23 May 2016 09:03:03 +0200 Subject: [PATCH] Remember to upload files that are locked during a sync run (#4865) See owncloud/enterprise#1342 --- src/libsync/propagateupload.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/libsync/propagateupload.cpp b/src/libsync/propagateupload.cpp index 9f98331112..2ef53dd6be 100644 --- a/src/libsync/propagateupload.cpp +++ b/src/libsync/propagateupload.cpp @@ -546,8 +546,16 @@ void PropagateUploadFileQNAM::startNextChunk() _transmissionChecksumType, _transmissionChecksum); } - if (! device->prepareAndOpen(_propagator->getFilePath(_item->_file), chunkStart, currentChunkSize)) { + const QString fileName = _propagator->getFilePath(_item->_file); + if (! device->prepareAndOpen(fileName, chunkStart, currentChunkSize)) { qDebug() << "ERR: Could not prepare upload device: " << device->errorString(); + + // If the file is currently locked, we want to retry the sync + // when it becomes available again. + if (FileSystem::isFileLocked(fileName)) { + emit _propagator->seenLockedFile(fileName); + } + // Soft error because this is likely caused by the user modifying his files while syncing abortWithError( SyncFileItem::SoftError, device->errorString() ); delete device;