"force":{"type":"boolean"},
"mountpoint":{"type":"string"},
"name":{"type":"string"},
- "devices":{"type":"string"}
+ "devices":{"type":"string"},
+ "diskpath":{"type":"boolean"}
}
}');
switch ($params['pooltype']) {
$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);
+ //Use /dev/disk/by-path as suggested in ZoL FAQ.
+ if ($params['diskpath']) {
+ try {
+ if (file_exists("/dev/disk/by-path/")) {
+ $tmp_disks = array();
+ foreach ($disks as $disk) {
+ $tmp_disks[] = OMVModuleZFSUtil::getDiskPath($disk);
+ }
+ $disks = $tmp_disks;
+ }
+ } catch (OMVModuleZFSException $e) {
+ //Do nothing if an excpetion is thrown
}
- $disks = $tmp_disks;
}
$vdev = new OMVModuleZFSVdev($params['name'], $pooltype, $disks);
"path":{"type":"string"},
"name":{"type":"string"},
"size":{"type":"string"},
- "clonename":{"type":"string"}
+ "clonename":{"type":"string"},
+ "mountpoint":{"type":"string"}
}
}');
switch ($params['type']) {
case "filesystem":
$name = $params['path'] . "/" . $params['name'];
$tmp = new OMVModuleZFSDataset($name);
+ if (strlen($params['mountpoint']) > 0) {
+ $properties = array("mountpoint"=>$params['mountpoint']);
+ $tmp->setProperties($properties);
+ }
break;
case "snapshot":
$name = $params['path'] . "@" . $params['name'];
'"raidz1","raidz2","raidz3"]},
"name":{"type":"string"},
"devices":{"type":"string"},
- "force":{"type":"boolean"}
+ "force":{"type":"boolean"},
+ "diskpath":{"type":"boolean"}
}
}');
$pool = new OMVModuleZFSZpool($params['name']);
if ($params['force']) {
$opts .= "-f ";
}
- //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);
+ //Use /dev/disk/by-path as suggested in ZoL FAQ.
+ if ($params['diskpath']) {
+ try {
+ if (file_exists("/dev/disk/by-path/")) {
+ $tmp_disks = array();
+ foreach ($disks as $disk) {
+ $tmp_disks[] = OMVModuleZFSUtil::getDiskPath($disk);
+ }
+ $disks = $tmp_disks;
+ }
+ } catch (OMVModuleZFSException $e) {
+ //Do nothing if an exception is thrown
}
- $disks = $tmp_disks;
}
$vdev[] = new OMVModuleZFSVdev($params['name'], $pooltype, $disks);
$pool->addVdev($vdev, $opts);