|
|
|
@ -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 {
|
|
|
|
|