diff options
author | Robin Appelman <robin@icewind.nl> | 2020-07-08 13:58:27 +0200 |
---|---|---|
committer | Roeland Jago Douma <roeland@famdouma.nl> | 2020-07-09 11:14:45 +0200 |
commit | 70906a359f9f2dc326b299144b9f432ac4dc979c (patch) | |
tree | 047c999be93aca35c21bef45b4b6defde6b85cce /lib/private | |
parent | 37c334a2a6480422f5471dabdf47461148dda147 (diff) | |
download | nextcloud-server-70906a359f9f2dc326b299144b9f432ac4dc979c.tar.gz nextcloud-server-70906a359f9f2dc326b299144b9f432ac4dc979c.zip |
ensure home storage is initialized on first setup
Signed-off-by: Robin Appelman <robin@icewind.nl>
Diffstat (limited to 'lib/private')
-rw-r--r-- | lib/private/Files/Filesystem.php | 4 | ||||
-rw-r--r-- | lib/private/Files/Mount/LocalHomeMountProvider.php | 2 | ||||
-rw-r--r-- | lib/private/Files/Mount/MountPoint.php | 2 |
3 files changed, 6 insertions, 2 deletions
diff --git a/lib/private/Files/Filesystem.php b/lib/private/Files/Filesystem.php index d3c4e1afc62..9d534815cdc 100644 --- a/lib/private/Files/Filesystem.php +++ b/lib/private/Files/Filesystem.php @@ -437,6 +437,10 @@ class Filesystem { // home mounts are handled seperate since we need to ensure this is mounted before we call the other mount providers $homeMount = $mountConfigManager->getHomeMountForUser($userObject); + if ($homeMount->getStorageRootId() === -1) { + $homeMount->getStorage()->mkdir(''); + $homeMount->getStorage()->getScanner()->scan(''); + } self::getMountManager()->addMount($homeMount); diff --git a/lib/private/Files/Mount/LocalHomeMountProvider.php b/lib/private/Files/Mount/LocalHomeMountProvider.php index 744a57981e2..68c69cc8cdc 100644 --- a/lib/private/Files/Mount/LocalHomeMountProvider.php +++ b/lib/private/Files/Mount/LocalHomeMountProvider.php @@ -35,7 +35,7 @@ class LocalHomeMountProvider implements IHomeMountProvider { * * @param IUser $user * @param IStorageFactory $loader - * @return \OCP\Files\Mount\IMountPoint[] + * @return \OCP\Files\Mount\IMountPoint|null */ public function getHomeMountForUser(IUser $user, IStorageFactory $loader) { $arguments = ['user' => $user]; diff --git a/lib/private/Files/Mount/MountPoint.php b/lib/private/Files/Mount/MountPoint.php index 2cb25f07044..f9cda6fbce8 100644 --- a/lib/private/Files/Mount/MountPoint.php +++ b/lib/private/Files/Mount/MountPoint.php @@ -268,7 +268,7 @@ class MountPoint implements IMountPoint { * @return int */ public function getStorageRootId() { - if (is_null($this->rootId)) { + if (is_null($this->rootId) || $this->rootId === -1) { $this->rootId = (int)$this->getStorage()->getCache()->getId(''); } return $this->rootId; |