]> git.datanom.net - omvzfs.git/blobdiff - gui/rpc/zfs.inc
Fix to clean up OMV shared folders when deleting shared datasets.
[omvzfs.git] / gui / rpc / zfs.inc
index af69ec4d6f7492cdc897d8be92476fbad0d68399..75c22ebcc26358969e4012b4f5419f3612c5a88c 100644 (file)
@@ -125,6 +125,11 @@ class OMVRpcServiceZFS extends OMVRpcServiceAbstract {
                $this->validateMethodContext($context, array("role" => OMV_ROLE_ADMINISTRATOR));
                switch ($params['type']) {
                case "Filesystem":
+                       $name = $params['name'];
+                       OMVModuleZFSUtil::deleteShares($name);
+                       $tmp = new OMVModuleZFSDataset($name);
+                       $tmp->destroy();
+                       break;
                case "Clone":
                        $name = $params['name'];
                        $tmp = new OMVModuleZFSDataset($name);
@@ -272,7 +277,7 @@ class OMVRpcServiceZFS extends OMVRpcServiceAbstract {
                $pooluuid = OMVModuleZFSUtil::getUUIDbyName($poolname);
 
                //Get the mntent object and fetch it's uuid.
-               $xpath = "//system/fstab/mntent[fsname=" . $pooluuid . "]";
+               $xpath = "//system/fstab/mntent[fsname='" . $pooluuid . "']";
                $mountpoint = $xmlConfig->get($xpath);
                $mntentref = $mountpoint['uuid'];
 
@@ -292,12 +297,7 @@ class OMVRpcServiceZFS extends OMVRpcServiceAbstract {
 
                $uuid = OMVUtil::uuid();
                $pathName = $tmp->getMountPoint();
-               $subdirs = preg_split('/\//',$pathName);
-               $reldirpath = "";
-               for ($i=2;$i<count($subdirs);$i++) {
-                       $reldirpath .= $subdirs[$i] . "/";
-               }
-               $reldirpath = rtrim($reldirpath, "/");
+               $reldirpath = OMVModuleZFSUtil::getReldirpath($pathName);
                $object = array(
                        "uuid" => $uuid,
                        "name" => $params['sharename'],
This page took 0.03787 seconds and 5 git commands to generate.