aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorRobin Appelman <icewind@owncloud.com>2014-01-20 15:21:21 +0100
committerRobin Appelman <icewind@owncloud.com>2014-01-20 15:21:21 +0100
commit3d6d8d1bb683f9daca3a2b8a876e291adc320375 (patch)
treec651cdbce0edcfc34745a8f3404a21cef8752927 /lib
parent62dd58aa190e5c53d8924e30a37dcc69f9495f6c (diff)
downloadnextcloud-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.php4
-rw-r--r--lib/private/files/view.php7
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') {