diff --git a/config/config.sample.php b/config/config.sample.php index 708e8367023011dfef041e976424e5822bfdf58a..80694837edc71091f10ac0bf82bbd5c62e191049 100755 --- a/config/config.sample.php +++ b/config/config.sample.php @@ -283,5 +283,14 @@ $CONFIG = array( * cache directory and "$user" is the user. * */ -'cache_path' => '' +'cache_path' => '', + +/* + * specifies how often the filesystem is checked for changes made outside owncloud + * 0 -> never check the filesystem for outside changes, provides a performance increase when it's certain that no changes are made directly to the filesystem + * 1 -> check each file or folder at most once per request, recomended for general use if outside changes might happen + * 2 -> check every time the filesystem is used, causes a performance hit when using external storages, not recomended for regular use + */ +'filesystem_check_changes' => 1 + ); diff --git a/lib/private/files/cache/watcher.php b/lib/private/files/cache/watcher.php index 599752a6effa46974dbeabbe8d5b611d1d8cc4b3..5a4f53fb73d539413af96ccc48c4cacdcc361a6d 100644 --- a/lib/private/files/cache/watcher.php +++ b/lib/private/files/cache/watcher.php @@ -45,7 +45,7 @@ class Watcher { } /** - * @param int $policy either \OC\Files\Cache\Watcher::UPDATE_NEVER, \OC\Files\Cache\Watcher::UPDATE_ONCE, \OC\Files\Cache\Watcher::UPDATE_ALWAYS + * @param int $policy either \OC\Files\Cache\Watcher::CHECK_NEVER, \OC\Files\Cache\Watcher::CHECK_ONCE, \OC\Files\Cache\Watcher::CHECK_ALWAYS */ public function setPolicy($policy) { $this->watchPolicy = $policy; diff --git a/lib/private/files/storage/common.php b/lib/private/files/storage/common.php index b03ae7d051775f331e4658644456510dd3d583cd..cfca8ca008c239ca2959d0e999c46e877a357f8c 100644 --- a/lib/private/files/storage/common.php +++ b/lib/private/files/storage/common.php @@ -7,6 +7,7 @@ */ namespace OC\Files\Storage; +use OC\Files\Cache\Watcher; /** * Storage backend class for providing common filesystem operation methods @@ -280,6 +281,7 @@ abstract class Common implements \OC\Files\Storage\Storage { public function getWatcher($path = '') { if (!isset($this->watcher)) { $this->watcher = new \OC\Files\Cache\Watcher($this); + $this->watcher->setPolicy(\OC::$server->getConfig()->getSystemValue('filesystem_check_changes', Watcher::CHECK_ONCE)); } return $this->watcher; }