]> source.dussan.org Git - nextcloud-server.git/commitdiff
Check the if we can actually access the storage cache for recent files
authorJulius Härtl <jus@bitgrid.net>
Mon, 22 Jul 2019 14:41:15 +0000 (16:41 +0200)
committerJulius Härtl <jus@bitgrid.net>
Wed, 24 Jul 2019 12:01:24 +0000 (14:01 +0200)
Signed-off-by: Julius Härtl <jus@bitgrid.net>
lib/private/Files/Node/Folder.php
tests/lib/Files/Node/FolderTest.php

index b0569a24aa140816084a1fd4df840304afe4cb87..7f908a757a0e3cb88407c7b1040bf9f91c190ab4 100644 (file)
@@ -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 !== '/';
                }));
index e1ee96c37ecc8ed7bec983613e8583ae39c5ddcc..061b9419f3981e817ed7bacf3dd249377017712a 100644 (file)
@@ -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,