Prevent parallelism when deleting encrypted files
authorKevin Ottens <kevin.ottens@nextcloud.com>
Wed, 8 Jul 2020 15:09:53 +0000 (17:09 +0200)
committerCamila <smayres@gmail.com>
Thu, 9 Jul 2020 14:22:54 +0000 (16:22 +0200)
Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
src/libsync/propagateremotedelete.cpp
src/libsync/propagateremotedelete.h

index bc50f2579237e7bb0cb85e5220196ac49c75c003..931bbf00fa1a3188ffecda8dcde46d6729288bd7 100644 (file)
@@ -74,6 +74,11 @@ void DeleteJob::setFolderToken(const QByteArray &folderToken)
     _folderToken = folderToken;
 }
 
+PropagatorJob::JobParallelism PropagateRemoteDelete::parallelism()
+{
+    return _item->_encryptedFileName.isEmpty() ? FullParallelism : WaitForFinished;
+}
+
 void PropagateRemoteDelete::start()
 {
     if (propagator()->_abortRequested.fetchAndAddRelaxed(0))
index 096e186982d8439fe0fe6b1e7db1d1a4fa47b82c..5830209925fb4a8477894f2c0c3d6664080b9343 100644 (file)
@@ -60,6 +60,7 @@ public:
         : PropagateItemJob(propagator, item)
     {
     }
+    JobParallelism parallelism() override;
     void start() override;
     void createDeleteJob(const QString &filename);
     void abort(PropagatorJob::AbortType abortType) override;