|
|
|
@ -48,6 +48,7 @@ use OC\Files\Filesystem; |
|
|
|
|
use OCP\Files\Mount\IMountPoint; |
|
|
|
|
use OCP\ICacheFactory; |
|
|
|
|
use OCP\IUser; |
|
|
|
|
use Psr\Log\LoggerInterface; |
|
|
|
|
use Symfony\Component\Process\ExecutableFinder; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
@ -518,7 +519,6 @@ class OC_Helper { |
|
|
|
|
$sourceStorage = $storage; |
|
|
|
|
if ($storage->instanceOfStorage('\OCA\Files_Sharing\SharedStorage')) { |
|
|
|
|
$includeExtStorage = false; |
|
|
|
|
$sourceStorage = $storage->getSourceStorage(); |
|
|
|
|
$internalPath = $storage->getUnjailedPath($rootInfo->getInternalPath()); |
|
|
|
|
} else { |
|
|
|
|
$internalPath = $rootInfo->getInternalPath(); |
|
|
|
@ -544,7 +544,19 @@ class OC_Helper { |
|
|
|
|
/** @var \OC\Files\Storage\Wrapper\Quota $storage */ |
|
|
|
|
$quota = $sourceStorage->getQuota(); |
|
|
|
|
} |
|
|
|
|
$free = $sourceStorage->free_space($internalPath); |
|
|
|
|
try { |
|
|
|
|
$free = $sourceStorage->free_space($internalPath); |
|
|
|
|
} catch (\Exception $e) { |
|
|
|
|
if ($path === "") { |
|
|
|
|
throw $e; |
|
|
|
|
} |
|
|
|
|
/** @var LoggerInterface $logger */ |
|
|
|
|
$logger = \OC::$server->get(LoggerInterface::class); |
|
|
|
|
$logger->warning("Error while getting quota info, using root quota", ['exception' => $e]); |
|
|
|
|
$rootInfo = self::getStorageInfo(""); |
|
|
|
|
$memcache->set($cacheKey, $rootInfo, 5 * 60); |
|
|
|
|
return $rootInfo; |
|
|
|
|
} |
|
|
|
|
if ($free >= 0) { |
|
|
|
|
$total = $free + $used; |
|
|
|
|
} else { |
|
|
|
|