]> source.dussan.org Git - nextcloud-server.git/commitdiff
Skip FailedStorage in background scan 3885/head
authorVincent Petry <pvince81@owncloud.com>
Wed, 2 Nov 2016 17:04:17 +0000 (18:04 +0100)
committerMorris Jobke <hey@morrisjobke.de>
Fri, 17 Mar 2017 06:06:48 +0000 (00:06 -0600)
The background job that scans storages must skip failed storages to
avoid potential exceptions, especially when the failed storage comes
from a shared storage where the source is not accessible.

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
lib/private/Files/Utils/Scanner.php

index 98e2c3c8ca2a655a1fb5ddb5d19966e8b106975a..e76f3225c3cb9dc071885262ee3addb153989da0 100644 (file)
@@ -123,6 +123,12 @@ class Scanner extends PublicEmitter {
                        if (is_null($storage)) {
                                continue;
                        }
+
+                       // don't bother scanning failed storages (shortcut for same result)
+                       if ($storage->instanceOfStorage('OC\Files\Storage\FailedStorage')) {
+                               continue;
+                       }
+
                        // don't scan the root storage
                        if ($storage->instanceOfStorage('\OC\Files\Storage\Local') && $mount->getMountPoint() === '/') {
                                continue;
@@ -166,6 +172,12 @@ class Scanner extends PublicEmitter {
                        if (is_null($storage)) {
                                continue;
                        }
+
+                       // don't bother scanning failed storages (shortcut for same result)
+                       if ($storage->instanceOfStorage('OC\Files\Storage\FailedStorage')) {
+                               continue;
+                       }
+
                        // if the home storage isn't writable then the scanner is run as the wrong user
                        if ($storage->instanceOfStorage('\OC\Files\Storage\Home') and
                                (!$storage->isCreatable('') or !$storage->isCreatable('files'))