aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVincent Petry <vincent@nextcloud.com>2020-11-13 16:52:08 +0100
committerVincent Petry <vincent@nextcloud.com>2020-11-13 17:06:37 +0100
commit2143f2bb8207fe569efb570993f7085b0154b2ff (patch)
tree65799c8cf6e97a0290eaa5ce4910c2b11486eea8
parentfd76bf18eabc57812311d19fe224d967537ada38 (diff)
downloadnextcloud-server-2143f2bb8207fe569efb570993f7085b0154b2ff.tar.gz
nextcloud-server-2143f2bb8207fe569efb570993f7085b0154b2ff.zip
Set up FS before querying storage info in settings
The personal info section of the personal settings is querying the storage quota information. For this it requires the FS to be setup which is not always guaranteed. This fixes an issue where refreshing the settings page would cause it to fail after Redis caches are full. It is likely that when Redis cache is populated, some code path is initializing the FS, so it works so far. But when the cache is populated, that code path is skipped so the FS is not guaranteed to be setup... Signed-off-by: Vincent Petry <vincent@nextcloud.com>
-rw-r--r--apps/settings/lib/Settings/Personal/PersonalInfo.php3
-rw-r--r--lib/private/legacy/OC_Helper.php3
2 files changed, 6 insertions, 0 deletions
diff --git a/apps/settings/lib/Settings/Personal/PersonalInfo.php b/apps/settings/lib/Settings/Personal/PersonalInfo.php
index 7c5a20dc35e..06ea440afab 100644
--- a/apps/settings/lib/Settings/Personal/PersonalInfo.php
+++ b/apps/settings/lib/Settings/Personal/PersonalInfo.php
@@ -105,6 +105,9 @@ class PersonalInfo implements ISettings {
$user = $this->userManager->get($uid);
$userData = $this->accountManager->getUser($user);
+ // make sure FS is setup before querying storage related stuff...
+ \OC_Util::setupFS($user->getUID());
+
$storageInfo = \OC_Helper::getStorageInfo('/');
if ($storageInfo['quota'] === FileInfo::SPACE_UNLIMITED) {
$totalSpace = $this->l->t('Unlimited');
diff --git a/lib/private/legacy/OC_Helper.php b/lib/private/legacy/OC_Helper.php
index 0d39a82e510..44fbdffc092 100644
--- a/lib/private/legacy/OC_Helper.php
+++ b/lib/private/legacy/OC_Helper.php
@@ -475,6 +475,9 @@ class OC_Helper {
/**
* Calculate the disc space for the given path
*
+ * BEWARE: this requires that Util::setupFS() was called
+ * already !
+ *
* @param string $path
* @param \OCP\Files\FileInfo $rootInfo (optional)
* @return array