summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorJörn Friedrich Dreyer <jfd@butonic.de>2014-06-13 13:26:09 +0200
committerJörn Friedrich Dreyer <jfd@butonic.de>2014-06-18 12:53:20 +0200
commit10de4a7b904fe472a240dd4d35d83daa919e6a1e (patch)
tree7a0e701d8a96c63b666f5e586d00d23d727fb75a /lib
parent652af71ba98461d3ed061c6e1daa56549d1dfac5 (diff)
downloadnextcloud-server-10de4a7b904fe472a240dd4d35d83daa919e6a1e.tar.gz
nextcloud-server-10de4a7b904fe472a240dd4d35d83daa919e6a1e.zip
move creation of / and users 'files' from storage constructor to setupFS / mount initialization
Diffstat (limited to 'lib')
-rw-r--r--lib/private/files/filesystem.php8
-rw-r--r--lib/private/files/objectstore/abstractobjectstore.php11
-rwxr-xr-xlib/private/util.php13
3 files changed, 19 insertions, 13 deletions
diff --git a/lib/private/files/filesystem.php b/lib/private/files/filesystem.php
index 5fb345c87f8..f5a7060ec90 100644
--- a/lib/private/files/filesystem.php
+++ b/lib/private/files/filesystem.php
@@ -343,6 +343,14 @@ class Filesystem {
$homeStorage['arguments']['legacy'] = true;
}
self::mount($homeStorage['class'], $homeStorage['arguments'], $user);
+
+ $home = \OC\Files\Filesystem::getStorage($user);
+ if ( $home->instanceOfStorage('\OC\Files\ObjectStore\AbstractObjectStore') ) {
+ //create the files folder in the cache when mounting the objectstore for a user
+ if ( ! $home->is_dir('files') ) {
+ $home->mkdir('files');
+ }
+ }
}
else {
self::mount('\OC\Files\Storage\Local', array('datadir' => $root), $user);
diff --git a/lib/private/files/objectstore/abstractobjectstore.php b/lib/private/files/objectstore/abstractobjectstore.php
index 2ef2f38bf40..3f67ad9a494 100644
--- a/lib/private/files/objectstore/abstractobjectstore.php
+++ b/lib/private/files/objectstore/abstractobjectstore.php
@@ -131,17 +131,6 @@ abstract class AbstractObjectStore extends \OC\Files\Storage\Common {
} else {
$this->user = null;
}
- //initialize cache with root directory in cache
- if ( ! $this->is_dir('/') ) {
- $this->mkdir('/');
- }
-
- if (isset($params['user']) && is_object($params['user'])) {
- //create the files folder in the cache when mounting the objectstore for a user
- if ( ! $this->is_dir('files') ) {
- $this->mkdir('files');
- }
- }
}
public function mkdir($path) {
diff --git a/lib/private/util.php b/lib/private/util.php
index c2db9e5773e..435a2914555 100755
--- a/lib/private/util.php
+++ b/lib/private/util.php
@@ -110,8 +110,17 @@ class OC_Util {
$userDir = '/'.$user.'/files';
- //autocreate users "home" directory for local storage only
- if ( ! isset( $root_storage ) ) {
+ //autocreate users "home" directory
+ if ( isset( $root_storage ) ) {
+ $root = \OC\Files\Filesystem::getStorage('/');
+ if ( $root->instanceOfStorage('\OC\Files\ObjectStore\AbstractObjectStore') ) {
+ //initialize cache with root directory in cache
+ if ( ! $root->is_dir('/') ) {
+ $root->mkdir('/');
+ }
+ }
+ } else {
+ //copy skeleton for local storage only
$userRoot = OC_User::getHome($user);
$userDirectory = $userRoot . '/files';
if( !is_dir( $userDirectory )) {