$opts .= "-m " . $params['mountpoint'] . " ";
}
+ //Use /dev/disk/by-path as deafult when creating new pools as suggested in ZoL FAQ.
$disks = preg_split("/[,;]/", $params['devices']);
+ if (file_exists("/dev/disk/by-path/")) {
+ $tmp_disks = array();
+ foreach ($disks as $disk) {
+ $tmp_disks[] = OMVModuleZFSUtil::getDiskPath($disk);
+ }
+ $disks = $tmp_disks;
+ }
+
$vdev = new OMVModuleZFSVdev($params['name'], $pooltype, $disks);
$pool = new OMVModuleZFSZpool($vdev, $opts);
//Ugly fix to solve the problem of blkid not displaying info on newly created pools
$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);
$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'];
$uuid = OMVUtil::uuid();
$pathName = $tmp->getMountPoint();
- $subdirs = preg_split('/\//',$pathName);
- $reldirpath = $subdirs[count($subdirs)-1];
+ $reldirpath = OMVModuleZFSUtil::getReldirpath($pathName);
$object = array(
"uuid" => $uuid,
"name" => $params['sharename'],