ensure home storage is initialized on first setup

Signed-off-by: Robin Appelman <robin@icewind.nl>
This commit is contained in:
Robin Appelman 2020-07-08 13:58:27 +02:00 committed by backportbot[bot]
parent b95ba97d27
commit 157f619812
3 changed files with 6 additions and 2 deletions

View File

@ -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 // home mounts are handled seperate since we need to ensure this is mounted before we call the other mount providers
$homeMount = $mountConfigManager->getHomeMountForUser($userObject); $homeMount = $mountConfigManager->getHomeMountForUser($userObject);
if ($homeMount->getStorageRootId() === -1) {
$homeMount->getStorage()->mkdir('');
$homeMount->getStorage()->getScanner()->scan('');
}
self::getMountManager()->addMount($homeMount); self::getMountManager()->addMount($homeMount);

View File

@ -35,7 +35,7 @@ class LocalHomeMountProvider implements IHomeMountProvider {
* *
* @param IUser $user * @param IUser $user
* @param IStorageFactory $loader * @param IStorageFactory $loader
* @return \OCP\Files\Mount\IMountPoint[] * @return \OCP\Files\Mount\IMountPoint|null
*/ */
public function getHomeMountForUser(IUser $user, IStorageFactory $loader) { public function getHomeMountForUser(IUser $user, IStorageFactory $loader) {
$arguments = ['user' => $user]; $arguments = ['user' => $user];

View File

@ -268,7 +268,7 @@ class MountPoint implements IMountPoint {
* @return int * @return int
*/ */
public function getStorageRootId() { public function getStorageRootId() {
if (is_null($this->rootId)) { if (is_null($this->rootId) || $this->rootId === -1) {
$this->rootId = (int)$this->getStorage()->getCache()->getId(''); $this->rootId = (int)$this->getStorage()->getCache()->getId('');
} }
return $this->rootId; return $this->rootId;