From: Christian Kamm Date: Mon, 12 Nov 2018 11:24:08 +0000 (+0100) Subject: vfs: Reenable local metadata updating of vfs files X-Git-Tag: archive/raspbian/3.16.7-1_deb13u1+rpi1~1^2~12^2~21^2~468^2~400 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=d5a3604d3952232f5e06989a56f12b86f48df868;p=nextcloud-desktop.git vfs: Reenable local metadata updating of vfs files --- diff --git a/src/libsync/syncengine.cpp b/src/libsync/syncengine.cpp index e48235567..e2fa5adff 100644 --- a/src/libsync/syncengine.cpp +++ b/src/libsync/syncengine.cpp @@ -331,9 +331,20 @@ void OCC::SyncEngine::slotItemDiscovered(const OCC::SyncFileItemPtr &item) if (rec._checksumHeader.isEmpty()) rec._checksumHeader = prev._checksumHeader; rec._serverHasIgnoredFiles |= prev._serverHasIgnoredFiles; - _journal->setFileRecord(rec); - // ### Update vfs metadata with Vfs::updateMetadata() + // Update on-disk virtual file metadata + if (item->_type == ItemTypeVirtualFile && _syncOptions._vfs) { + QString error; + if (!_syncOptions._vfs->updateMetadata(filePath, item->_modtime, item->_size, item->_fileId, &error)) { + item->_instruction = CSYNC_INSTRUCTION_ERROR; + item->_status = SyncFileItem::NormalError; + item->_errorString = tr("Could not update virtual file metadata: %1").arg(error); + return; + } + } + + // Updating the db happens on success + _journal->setFileRecord(rec); // This might have changed the shared flag, so we must notify SyncFileStatusTracker for example emit itemCompleted(item);