From e551417b5d672f23c5f932e9599fa7495b4ca4ec Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Wed, 21 Mar 2018 15:37:40 +0100 Subject: [vmstore] Deliver mount options to clients refs #3323 --- modules-available/vmstore/baseconfig/getconfig.inc.php | 6 ++++++ modules-available/vmstore/page.inc.php | 5 +++++ 2 files changed, 11 insertions(+) (limited to 'modules-available/vmstore') 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'))) { -- cgit v1.2.3-55-g7522