Browse Source

Merge pull request #810 from nextcloud/shared-cachethepropagatorinstance

Store the shared propagator instance
pull/652/merge
Lukas Reschke 10 years ago
committed by GitHub
parent
commit
67d016833d
  1. 7
      apps/files_sharing/lib/sharedstorage.php
  2. 10
      lib/private/Files/Utils/Scanner.php

7
apps/files_sharing/lib/sharedstorage.php

@ -319,10 +319,15 @@ class Shared extends \OC\Files\Storage\Wrapper\Jail implements ISharedStorage {
}
public function getPropagator($storage = null) {
if (isset($this->propagator)) {
return $this->propagator;
}
if (!$storage) {
$storage = $this;
}
return new \OCA\Files_Sharing\SharedPropagator($storage, \OC::$server->getDatabaseConnection());
$this->propagator = new \OCA\Files_Sharing\SharedPropagator($storage, \OC::$server->getDatabaseConnection());
return $this->propagator;
}
public function getOwner($path) {

10
lib/private/Files/Utils/Scanner.php

@ -139,9 +139,10 @@ class Scanner extends PublicEmitter {
$this->triggerPropagator($storage, $path);
});
$storage->getPropagator()->beginBatch();
$propagator = $storage->getPropagator();
$propagator->beginBatch();
$scanner->backgroundScan();
$storage->getPropagator()->commitBatch();
$propagator->commitBatch();
}
}
@ -190,14 +191,15 @@ class Scanner extends PublicEmitter {
$this->db->beginTransaction();
}
try {
$storage->getPropagator()->beginBatch();
$propagator = $storage->getPropagator();
$propagator->beginBatch();
$scanner->scan($relativePath, \OC\Files\Cache\Scanner::SCAN_RECURSIVE, \OC\Files\Cache\Scanner::REUSE_ETAG | \OC\Files\Cache\Scanner::REUSE_SIZE);
$cache = $storage->getCache();
if ($cache instanceof Cache) {
// only re-calculate for the root folder we scanned, anything below that is taken care of by the scanner
$cache->correctFolderSize($relativePath);
}
$storage->getPropagator()->commitBatch();
$propagator->commitBatch();
} catch (StorageNotAvailableException $e) {
$this->logger->error('Storage ' . $storage->getId() . ' not available');
$this->logger->logException($e);

Loading…
Cancel
Save