* @version 0.1
* @copyright Michael Rasmussen <mir@datanom.net>
*/
-class OMVModuleZFSZpool extends OMVModuleAbstract
- implements OMVINotifyListener {
+class OMVModuleZFSZpool extends OMVModuleAbstract {
// Attributes
/**
* Name of pool
* @throws OMVModuleZFSException
*/
- public function __construct($vdev) {
+ public function __construct($vdev, $opts = "") {
$create_pool = true;
if (is_array($vdev)) {
$this->cache = null;
$this->features = array();
if ($create_pool) {
- $cmd = "zpool create $name $cmd";
+ $cmd = "zpool create $opts$name $cmd 2>&1";
OMVUtil::exec($cmd, $output, $result);
if ($result)
- throw new OMVModuleZFSException($output);
+ throw new OMVModuleZFSException(implode("\n", $output));
else {
$this->name = $name;
$this->type = $type;
throw new OMVModuleZFSException($output);
}
- public function bindListeners(OMVNotifyDispatcher $dispatcher) {
- // Update service if configuration has been modified
- $dispatcher->addListener(
- OMV_NOTIFY_MODIFY,
- "org.openmediavault.services.nfs",
- array($this, "onUpdateNFSService"));
- $dispatcher->addListener(
- OMV_NOTIFY_CREATE,
- "org.openmediavault.services.nfs.shares.share",
- array($this, "onCreateNFSShare"));
- $dispatcher->addListener(
- OMV_NOTIFY_DELETE,
- "org.openmediavault.services.nfs.shares.share",
- array($this, "onDeleteNFSShare"));
- $dispatcher->addListener(
- OMV_NOTIFY_MODIFY,
- "org.openmediavault.services.nfs.shares.share",
- array($this, "onUpdateNFSShare"));
- }
-
- /**
- * XXX
- * org.openmediavault.services.nfs
- *
- * @param string event
- * @access public
- */
- public function onUpdateNFSService($args) {
- $this->debug(sprintf("onUpdateNFSService args=%s", var_export($args, true)));
- }
-
- /**
- * XXX
- * org.openmediavault.services.nfs.shares.share
- *
- * @param string event
- * @access public
- */
- public function onCreateNFSShare($args) {
- $this->debug(sprintf("onCreateNFSShare args=%s", var_export($args, true)));
- }
-
- /**
- * XXX
- * org.openmediavault.services.nfs.shares.share
- *
- * @param string event
- * @access public
- */
- public function onDeleteNFSShare($args) {
- $this->debug(sprintf("onDeleteNFSShare args=%s", var_export($args, true)));
- }
-
- /**
- * XXX
- * org.openmediavault.services.nfs.shares.share
- *
- * @param string event
- * @access public
- */
- public function onUpdateNFSShare($args) {
- $this->debug(sprintf("onUpdateNFSShare args=%s", var_export($args, true)));
- }
-
/**
* Get a single property value associated with the Dataset
*
* @param string $attribute
* @return string value
*/
- private function getAttribute($attribute) {
+ public function getAttribute($attribute) {
$cmd = "zpool list -H -o $attribute {$this->name}";
OMVUtil::exec($cmd, $output, $result);
if ($result) {
$dev = null;
}
$type = $match[1];
- } else if (preg_match("/^\s*([\w\d-]+)\s+/", $line, $match)) {
+ } else if (preg_match("/^\s*([\w\d-a-z0-9\:\.\-]+)\s+/", $line, $match)) {
if ($dev)
$dev .= " $match[1]";
else
}
}
-
?>