diff options
author | Robin Appelman <icewind@owncloud.com> | 2015-03-05 17:27:10 +0100 |
---|---|---|
committer | Robin Appelman <icewind@owncloud.com> | 2015-03-11 15:07:23 +0100 |
commit | e1f2a6df94af29864778a3ac286887ba51f19b04 (patch) | |
tree | 7f4efe6ded5eefdc37d992209969ab7a9eac1612 | |
parent | 7adda887865d43ea66e4854826cbb64f942af42c (diff) | |
download | nextcloud-server-e1f2a6df94af29864778a3ac286887ba51f19b04.tar.gz nextcloud-server-e1f2a6df94af29864778a3ac286887ba51f19b04.zip |
Allow setting the watcher policy as mount option
-rw-r--r-- | lib/private/files/cache/watcher.php | 7 | ||||
-rw-r--r-- | lib/private/files/storage/common.php | 3 | ||||
-rw-r--r-- | tests/lib/files/view.php | 9 |
3 files changed, 18 insertions, 1 deletions
diff --git a/lib/private/files/cache/watcher.php b/lib/private/files/cache/watcher.php index f4572895b09..22c3fb202c3 100644 --- a/lib/private/files/cache/watcher.php +++ b/lib/private/files/cache/watcher.php @@ -52,6 +52,13 @@ class Watcher { } /** + * @return int either \OC\Files\Cache\Watcher::CHECK_NEVER, \OC\Files\Cache\Watcher::CHECK_ONCE, \OC\Files\Cache\Watcher::CHECK_ALWAYS + */ + public function getPolicy() { + return $this->watchPolicy; + } + + /** * check $path for updates * * @param string $path diff --git a/lib/private/files/storage/common.php b/lib/private/files/storage/common.php index db66feb4609..d7fff6e6e18 100644 --- a/lib/private/files/storage/common.php +++ b/lib/private/files/storage/common.php @@ -331,7 +331,8 @@ abstract class Common implements \OC\Files\Storage\Storage { } if (!isset($this->watcher)) { $this->watcher = new Watcher($storage); - $this->watcher->setPolicy(\OC::$server->getConfig()->getSystemValue('filesystem_check_changes', Watcher::CHECK_ONCE)); + $globalPolicy = \OC::$server->getConfig()->getSystemValue('filesystem_check_changes', Watcher::CHECK_ONCE); + $this->watcher->setPolicy($this->getMountOption('filesystem_check_changes', $globalPolicy)); } return $this->watcher; } diff --git a/tests/lib/files/view.php b/tests/lib/files/view.php index 4ac014a92b5..475383b5fe0 100644 --- a/tests/lib/files/view.php +++ b/tests/lib/files/view.php @@ -985,4 +985,13 @@ class View extends \Test\TestCase { $storage = $mount->getStorage(); $this->assertEquals($storage->getMountOption('foo'), 'bar'); } + + public function testSetMountOptionsWatcherPolicy() { + $mount = new MountPoint('\OC\Files\Storage\Temporary', '/asd/', [[]], Filesystem::getLoader(), ['filesystem_check_changes' => Watcher::CHECK_NEVER]); + Filesystem::getMountManager()->addMount($mount); + /** @var \OC\Files\Storage\Common $storage */ + $storage = $mount->getStorage(); + $watcher = $storage->getWatcher(); + $this->assertEquals(Watcher::CHECK_NEVER, $watcher->getPolicy()); + } } |