summaryrefslogtreecommitdiffstats
path: root/modules-available/vmstore
diff options
context:
space:
mode:
authorSimon Rettberg2018-03-21 15:37:40 +0100
committerSimon Rettberg2018-03-21 15:37:40 +0100
commite551417b5d672f23c5f932e9599fa7495b4ca4ec (patch)
treeed1ed83964ec50cd80e89acc0c56fb658e97bb60 /modules-available/vmstore
parent[statistics] Show ID45 partition in green, like ID44 (diff)
downloadslx-admin-e551417b5d672f23c5f932e9599fa7495b4ca4ec.tar.gz
slx-admin-e551417b5d672f23c5f932e9599fa7495b4ca4ec.tar.xz
slx-admin-e551417b5d672f23c5f932e9599fa7495b4ca4ec.zip
[vmstore] Deliver mount options to clients
refs #3323
Diffstat (limited to 'modules-available/vmstore')
-rw-r--r--modules-available/vmstore/baseconfig/getconfig.inc.php6
-rw-r--r--modules-available/vmstore/page.inc.php5
2 files changed, 11 insertions, 0 deletions
diff --git a/modules-available/vmstore/baseconfig/getconfig.inc.php b/modules-available/vmstore/baseconfig/getconfig.inc.php
index 75f7279b..3bad16e1 100644
--- a/modules-available/vmstore/baseconfig/getconfig.inc.php
+++ b/modules-available/vmstore/baseconfig/getconfig.inc.php
@@ -9,11 +9,17 @@ if (is_array($vmstore) && isset($vmstore['storetype'])) {
break;
case 'nfs';
ConfigHolder::add("SLX_VM_NFS", $vmstore['nfsaddr']);
+ if (!empty($vmstore['nfsopts'])) {
+ ConfigHolder::add("SLX_VM_NFS_OPTS", $vmstore['nfsopts']);
+ }
break;
case 'cifs';
ConfigHolder::add("SLX_VM_NFS", $vmstore['cifsaddr']);
ConfigHolder::add("SLX_VM_NFS_USER", $vmstore['cifsuserro']);
ConfigHolder::add("SLX_VM_NFS_PASSWD", $vmstore['cifspasswdro']);
+ if (!empty($vmstore['cifsopts'])) {
+ ConfigHolder::add("SLX_VM_NFS_OPTS", $vmstore['cifsopts']);
+ }
break;
}
}
diff --git a/modules-available/vmstore/page.inc.php b/modules-available/vmstore/page.inc.php
index 88b27811..1e0cc619 100644
--- a/modules-available/vmstore/page.inc.php
+++ b/modules-available/vmstore/page.inc.php
@@ -38,6 +38,11 @@ class Page_VmStore extends Page
$vmstore = array();
foreach (array('storetype', 'nfsaddr', 'nfsopts', 'cifsaddr', 'cifsuser', 'cifspasswd', 'cifsuserro', 'cifspasswdro', 'cifsopts') as $key) {
$vmstore[$key] = trim(Request::post($key, '', 'string'));
+ // Remove rw setting
+ if ($key === 'cifsopts' || $key === 'nfsopts') {
+ $vmstore[$key] = preg_replace('/\s+,\s+/', ',', $vmstore[$key]);
+ $vmstore[$key] = preg_replace('/^rw,|,rw$/', '', str_replace(',rw,', ',', $vmstore[$key]));
+ }
}
$storetype = $vmstore['storetype'];
if (!in_array($storetype, array('internal', 'nfs', 'cifs'))) {