mirror of
https://github.com/nextcloud/server.git
synced 2026-05-22 01:55:56 -04:00
Handle LocalServerException when scanning external shares
When remoteIsOwnCloud trows LocalServerException, the storage is unavailable and instead of crashing the scanner, ignore the specific storage. Signed-off-by: Carl Schwan <carl@carlschwan.eu>
This commit is contained in:
parent
1cc5a3d244
commit
54924c8dab
1 changed files with 11 additions and 2 deletions
13
apps/files_sharing/lib/External/Scanner.php
vendored
13
apps/files_sharing/lib/External/Scanner.php
vendored
|
|
@ -29,6 +29,8 @@ use OC\ForbiddenException;
|
|||
use OCP\Files\NotFoundException;
|
||||
use OCP\Files\StorageInvalidException;
|
||||
use OCP\Files\StorageNotAvailableException;
|
||||
use OCP\Http\Client\LocalServerException;
|
||||
use Psr\Log\LoggerInterface;
|
||||
|
||||
class Scanner extends \OC\Files\Cache\Scanner {
|
||||
/** @var \OCA\Files_Sharing\External\Storage */
|
||||
|
|
@ -36,8 +38,15 @@ class Scanner extends \OC\Files\Cache\Scanner {
|
|||
|
||||
/** {@inheritDoc} */
|
||||
public function scan($path, $recursive = self::SCAN_RECURSIVE, $reuse = -1, $lock = true) {
|
||||
if (!$this->storage->remoteIsOwnCloud()) {
|
||||
return parent::scan($path, $recursive, $reuse, $lock);
|
||||
try {
|
||||
if (!$this->storage->remoteIsOwnCloud()) {
|
||||
return parent::scan($path, $recursive, $reuse, $lock);
|
||||
}
|
||||
} catch (LocalServerException $e) {
|
||||
// Scanner doesn't have dependency injection
|
||||
\OC::$server->get(LoggerInterface::class)
|
||||
->warning('Trying to scan files inside invalid external storage: ' . $this->storage->getRemote() . ' for mountpoint ' . $this->storage->getMountPoint() . ' and id ' . $this->storage->getId());
|
||||
return;
|
||||
}
|
||||
|
||||
$this->scanAll();
|
||||
|
|
|
|||
Loading…
Reference in a new issue