diff options
author | Julius Härtl <jus@bitgrid.net> | 2019-07-22 16:41:15 +0200 |
---|---|---|
committer | Julius Härtl <jus@bitgrid.net> | 2019-07-24 14:01:24 +0200 |
commit | 3674f6fa2d8e4d6dfbabaca6edb8f451f06f5736 (patch) | |
tree | 352e5d0ad289f4e1b7d052a3007452c3f20e43d1 | |
parent | 7e8dfd404e5f2b121f145c31dc277d204ddcb2ea (diff) | |
download | nextcloud-server-3674f6fa2d8e4d6dfbabaca6edb8f451f06f5736.tar.gz nextcloud-server-3674f6fa2d8e4d6dfbabaca6edb8f451f06f5736.zip |
Check the if we can actually access the storage cache for recent files
Signed-off-by: Julius Härtl <jus@bitgrid.net>
-rw-r--r-- | lib/private/Files/Node/Folder.php | 4 | ||||
-rw-r--r-- | tests/lib/Files/Node/FolderTest.php | 21 |
2 files changed, 18 insertions, 7 deletions
diff --git a/lib/private/Files/Node/Folder.php b/lib/private/Files/Node/Folder.php index b0569a24aa1..7f908a757a0 100644 --- a/lib/private/Files/Node/Folder.php +++ b/lib/private/Files/Node/Folder.php @@ -442,6 +442,10 @@ class Folder extends Node implements \OCP\Files\Folder { }, $result)); return array_values(array_filter($files, function (Node $node) { + $cacheEntry = $node->getMountPoint()->getStorage()->getCache()->get($node->getId()); + if (!$cacheEntry) { + return false; + } $relative = $this->getRelativePath($node->getPath()); return $relative !== null && $relative !== '/'; })); diff --git a/tests/lib/Files/Node/FolderTest.php b/tests/lib/Files/Node/FolderTest.php index e1ee96c37ec..061b9419f39 100644 --- a/tests/lib/Files/Node/FolderTest.php +++ b/tests/lib/Files/Node/FolderTest.php @@ -861,13 +861,15 @@ class FolderTest extends NodeTest { 'storage_mtime' => $baseTime, 'mtime' => $baseTime, 'mimetype' => 'text/plain', - 'size' => 3 + 'size' => 3, + 'permissions' => \OCP\Constants::PERMISSION_ALL ]); $id2 = $cache->put('bar/foo/old.txt', [ 'storage_mtime' => $baseTime - 100, 'mtime' => $baseTime - 100, 'mimetype' => 'text/plain', - 'size' => 3 + 'size' => 3, + 'permissions' => \OCP\Constants::PERMISSION_READ ]); $cache->put('bar/asd/outside.txt', [ 'storage_mtime' => $baseTime, @@ -879,7 +881,8 @@ class FolderTest extends NodeTest { 'storage_mtime' => $baseTime - 600, 'mtime' => $baseTime - 600, 'mimetype' => 'text/plain', - 'size' => 3 + 'size' => 3, + 'permissions' => \OCP\Constants::PERMISSION_ALL ]); $node = new \OC\Files\Node\Folder($root, $view, $folderPath, $folderInfo); @@ -922,21 +925,24 @@ class FolderTest extends NodeTest { 'storage_mtime' => $baseTime, 'mtime' => $baseTime, 'mimetype' => \OCP\Files\FileInfo::MIMETYPE_FOLDER, - 'size' => 3 + 'size' => 3, + 'permissions' => 0 ]); $id2 = $cache->put('bar/foo/folder/bar.txt', [ 'storage_mtime' => $baseTime, 'mtime' => $baseTime, 'mimetype' => 'text/plain', 'size' => 3, - 'parent' => $id1 + 'parent' => $id1, + 'permissions' => \OCP\Constants::PERMISSION_ALL ]); $id3 = $cache->put('bar/foo/folder/asd.txt', [ 'storage_mtime' => $baseTime - 100, 'mtime' => $baseTime - 100, 'mimetype' => 'text/plain', 'size' => 3, - 'parent' => $id1 + 'parent' => $id1, + 'permissions' => \OCP\Constants::PERMISSION_ALL ]); $node = new \OC\Files\Node\Folder($root, $view, $folderPath, $folderInfo); @@ -985,7 +991,8 @@ class FolderTest extends NodeTest { 'storage_mtime' => $baseTime, 'mtime' => $baseTime, 'mimetype' => 'text/plain', - 'size' => 3 + 'size' => 3, + 'permissions' => \OCP\Constants::PERMISSION_ALL ]); $cache->put('outside.txt', [ 'storage_mtime' => $baseTime - 100, |