summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRobin Appelman <icewind@owncloud.com>2014-07-02 15:00:12 +0200
committerRobin Appelman <icewind@owncloud.com>2014-07-02 15:00:12 +0200
commitedb67f9f4dc8d3c028ba6f2d157d2174fb40aba8 (patch)
tree2cc6fc30b19260648bf81d72d0366e9ef66edc0f
parent0008db9995baede8136a22892a9240c25b2c2ef8 (diff)
downloadnextcloud-server-edb67f9f4dc8d3c028ba6f2d157d2174fb40aba8.tar.gz
nextcloud-server-edb67f9f4dc8d3c028ba6f2d157d2174fb40aba8.zip
Remove invalid mounts from the active fs
-rw-r--r--apps/files_sharing/lib/external/storage.php1
-rw-r--r--lib/private/files/mount/manager.php4
2 files changed, 5 insertions, 0 deletions
diff --git a/apps/files_sharing/lib/external/storage.php b/apps/files_sharing/lib/external/storage.php
index cbde21d14fb..3a0de51192e 100644
--- a/apps/files_sharing/lib/external/storage.php
+++ b/apps/files_sharing/lib/external/storage.php
@@ -142,6 +142,7 @@ class Storage extends DAV implements ISharedStorage {
// since this is permanent (re-sharing the file will create a new token)
// we remove the invalid storage
$this->manager->removeShare($this->mountPoint);
+ $this->manager->getMountManager()->removeMount($this->mountPoint);
throw new StorageInvalidException();
} else {
// ownCloud instance is gone, likely to be a temporary server configuration error
diff --git a/lib/private/files/mount/manager.php b/lib/private/files/mount/manager.php
index 45a9f339fba..e5180cfe173 100644
--- a/lib/private/files/mount/manager.php
+++ b/lib/private/files/mount/manager.php
@@ -27,6 +27,10 @@ class Manager {
* @param string $mountPoint
*/
public function removeMount($mountPoint) {
+ $mountPoint = Filesystem::normalizePath($mountPoint);
+ if (strlen($mountPoint) > 1) {
+ $mountPoint .= '/';
+ }
unset($this->mounts[$mountPoint]);
}