diff options
author | Jörn Friedrich Dreyer <jfd@butonic.de> | 2014-06-13 13:26:09 +0200 |
---|---|---|
committer | Jörn Friedrich Dreyer <jfd@butonic.de> | 2014-06-18 12:53:20 +0200 |
commit | 10de4a7b904fe472a240dd4d35d83daa919e6a1e (patch) | |
tree | 7a0e701d8a96c63b666f5e586d00d23d727fb75a /lib | |
parent | 652af71ba98461d3ed061c6e1daa56549d1dfac5 (diff) | |
download | nextcloud-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.php | 8 | ||||
-rw-r--r-- | lib/private/files/objectstore/abstractobjectstore.php | 11 | ||||
-rwxr-xr-x | lib/private/util.php | 13 |
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 )) { |