Skip FailedStorage in background scan

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>
This commit is contained in:
Vincent Petry 2016-11-02 18:04:17 +01:00 committed by Morris Jobke
parent 39afcbd49f
commit cbebfaaf2b
No known key found for this signature in database
GPG key ID: 9CE5ED29E7FCD38A

View 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'))