diff options
author | Robin Appelman <icewind@owncloud.com> | 2014-01-20 15:21:21 +0100 |
---|---|---|
committer | Robin Appelman <icewind@owncloud.com> | 2014-01-20 15:21:21 +0100 |
commit | 3d6d8d1bb683f9daca3a2b8a876e291adc320375 (patch) | |
tree | c651cdbce0edcfc34745a8f3404a21cef8752927 /lib | |
parent | 62dd58aa190e5c53d8924e30a37dcc69f9495f6c (diff) | |
download | nextcloud-server-3d6d8d1bb683f9daca3a2b8a876e291adc320375.tar.gz nextcloud-server-3d6d8d1bb683f9daca3a2b8a876e291adc320375.zip |
Reuse the data retrieved from the cache in checkUpdate
Diffstat (limited to 'lib')
-rw-r--r-- | lib/private/files/cache/watcher.php | 4 | ||||
-rw-r--r-- | lib/private/files/view.php | 7 |
2 files changed, 7 insertions, 4 deletions
diff --git a/lib/private/files/cache/watcher.php b/lib/private/files/cache/watcher.php index 58f624c8990..251ecbe7071 100644 --- a/lib/private/files/cache/watcher.php +++ b/lib/private/files/cache/watcher.php @@ -40,7 +40,7 @@ class Watcher { * check $path for updates * * @param string $path - * @return boolean true if path was updated, false otherwise + * @return boolean | array true if path was updated, otherwise the cached data is returned */ public function checkUpdate($path) { $cachedEntry = $this->cache->get($path); @@ -56,7 +56,7 @@ class Watcher { $this->cache->correctFolderSize($path); return true; } - return false; + return $cachedEntry; } /** diff --git a/lib/private/files/view.php b/lib/private/files/view.php index 8893911ed5d..d97544b865e 100644 --- a/lib/private/files/view.php +++ b/lib/private/files/view.php @@ -801,6 +801,7 @@ class View { * @var string $internalPath */ list($storage, $internalPath) = Filesystem::resolvePath($path); + $data = null; if ($storage) { $cache = $storage->getCache($internalPath); $permissionsCache = $storage->getPermissionsCache($internalPath); @@ -811,10 +812,12 @@ class View { $scanner->scan($internalPath, Cache\Scanner::SCAN_SHALLOW); } else { $watcher = $storage->getWatcher($internalPath); - $watcher->checkUpdate($internalPath); + $data = $watcher->checkUpdate($internalPath); } - $data = $cache->get($internalPath); + if (!is_array($data)) { + $data = $cache->get($internalPath); + } if ($data and $data['fileid']) { if ($includeMountPoints and $data['mimetype'] === 'httpd/unix-directory') { |