<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=UTF-8" http-equiv="Content-Type">
<title></title>
</head>
<body bgcolor="#ffffcc" text="#000066">
<tt>Looks good to me.<br>
<br>
Signed-off-by: Marcos Matsunaga <a class="moz-txt-link-rfc2396E" href="mailto:Marcos.Matsunaga@oracle.com"><Marcos.Matsunaga@oracle.com></a><br>
<br>
</tt>
<pre class="moz-signature" cols="72">Regards,
Marcos Eduardo Matsunaga
Oracle USA
Linux Engineering
“The statements and opinions expressed here are my own and do not
necessarily represent those of Oracle Corporation.”
</pre>
<br>
<br>
Tristan Ye wrote:
<blockquote
cite="mid:1249980304-17685-1-git-send-email-tristan.ye@oracle.com"
type="cite">
<pre wrap="">Several tests such as quota_test should add mounting options
when mounting volume among nodes, we therefore have to support
this in remote_mount.
Signed-off-by: Tristan Ye <a class="moz-txt-link-rfc2396E" href="mailto:tristan.ye@oracle.com"><tristan.ye@oracle.com></a>
---
programs/python_common/command.py | 14 +++++++++++++-
programs/python_common/o2tf.py | 4 ++--
programs/python_common/o2tf.sh | 13 +++++++++++--
programs/python_common/remote_mount.py | 18 +++++++++++++++---
4 files changed, 41 insertions(+), 8 deletions(-)
diff --git a/programs/python_common/command.py b/programs/python_common/command.py
index 04c99e8..e6ca351 100755
--- a/programs/python_common/command.py
+++ b/programs/python_common/command.py
@@ -34,6 +34,7 @@ logfile = config.LOGFILE
Usage = 'Usage: %prog [--Debug] \
[-l|--label label] \
[-m|--mountpoint mountpoint] \
+[-o|--options mountoptions] \
[--mount] \
[--umount]'
#
@@ -62,6 +63,12 @@ if __name__=='__main__':
                type='string',
                help='Directory where the partition will be mount.')
#
+        parser.add_option('-o',
+                '--options',
+                dest='mountoptions',
+                type='string',
+                help='mounting options to be added')
+#
        parser.add_option('--umount',
                action="store_true",
                dest='doumount',
@@ -77,9 +84,14 @@ if __name__=='__main__':
                        parser.error('Please specify mountpoint.')
                if not options.label:
                        parser.error('Please specify Label.')
+                if options.mountoptions:
+                        mt_options = '-o %s' %(options.mountoptions)
+                else:
+                        mt_options = ''
                if not mounted:
                        o2tf.SudoMount(options.DEBUGON, logfile,
-                                options.mountpoint, options.label)
+                                 options.mountpoint, options.label,
+                                 mt_options)
                else:
                        o2tf.printlog('Partition already mounted.',
                                logfile, 0, '')
diff --git a/programs/python_common/o2tf.py b/programs/python_common/o2tf.py
index ab4374a..720fcf6 100644
--- a/programs/python_common/o2tf.py
+++ b/programs/python_common/o2tf.py
@@ -405,10 +405,10 @@ def SudoUmount(DEBUGON, logfile, mountpoint):
#
# SudoMount is used by:
#
-def SudoMount(DEBUGON, logfile, mountpoint, label):
+def SudoMount(DEBUGON, logfile, mountpoint, label, options):
        '''Find and return device Label based on devicename'''
        from commands import getstatusoutput
-        status = getstatusoutput('sudo mount LABEL=%s %s' % (label,
+        status = getstatusoutput('sudo mount LABEL=%s %s %s' % (label, options,
                mountpoint))
        if status[0] == 0:
                return
diff --git a/programs/python_common/o2tf.sh b/programs/python_common/o2tf.sh
index c73f66c..d912a9b 100755
--- a/programs/python_common/o2tf.sh
+++ b/programs/python_common/o2tf.sh
@@ -252,15 +252,24 @@ function f_remote_mount()
        #${2} specify label name
        #${3} specify mount point
        #${4} specify MPI hosts, it's comma-spearated-value
+        #${5} specify mount options
        local logfile=${1}
        local L=${2}
        local M=${3}
        local MPIHOSTS=${4}
+        local MT_OPTIONS=
+
+        shift 4
+
+        local O=${@}
+        if [ ! -z "${O}" ];then
+                MT_OPTIONS="-o ${O}"
+        fi
- f_LogMsg ${logfile} "${REMOTE_MOUNT_BIN} -l ${L} -m ${M} -n ${MPIHOSTS}"
- ${REMOTE_MOUNT_BIN} -l ${L} -m ${M} -n ${MPIHOSTS}>>${logfile} 2>&1
+ f_LogMsg ${logfile} "${REMOTE_MOUNT_BIN} -l ${L} -m ${M} -n ${MPIHOSTS} ${MT_OPTIONS}"
+ ${REMOTE_MOUNT_BIN} -l ${L} -m ${M} -n ${MPIHOSTS} ${MT_OPTIONS}>>${logfile} 2>&1
RET=$?
if [ "${RET}" != "0" ];then
diff --git a/programs/python_common/remote_mount.py b/programs/python_common/remote_mount.py
index ae2a6c5..754f1ab 100755
--- a/programs/python_common/remote_mount.py
+++ b/programs/python_common/remote_mount.py
@@ -37,7 +37,8 @@ logfile = config.LOGFILE
#
Usage = 'Usage: %prog [-l|-label label] \
[-m|--mountpoint mountpoint] \
-[-n|--nodes nodelist]'
+[-n|--nodes nodelist] \
+[-o|--options mountoptions]'
#
if userid == 'root':
        o2tf.printlog('This program uses Openmpi. Should not run as root',
@@ -63,6 +64,12 @@ if __name__=='__main__':
                dest='nodelist',
                type='string',
                help='List of nodes where the test will be executed.')
+
+        parser.add_option('-o',
+                '--options',
+                dest='mountoptions',
+                type='string',
+                help='Mounting options to be added.')
#
        (options, args) = parser.parse_args()
        if len(args) != 0:
@@ -73,6 +80,10 @@ if __name__=='__main__':
                parser.error('Please specify mountpoint.')
        if not options.label:
                parser.error('Please specify Label.')
+        if options.mountoptions:
+                mt_options = '-o %s' %(options.mountoptions)
+        else:
+                mt_options = ''
#
        nodelist = options.nodelist.split(',')
        nodelen = len(nodelist)
@@ -88,9 +99,10 @@ if DEBUGON:
else:
        buildcmd=config.BINDIR+'/command.py --mount'
#
-command = str('%s -l %s -m %s' % (buildcmd,
+command = str('%s -l %s -m %s %s' % (buildcmd,
        options.label,
-        options.mountpoint))
+        options.mountpoint,
+        mt_options))
#
o2tf.OpenMPIInit(DEBUGON, options.nodelist, logfile, 'ssh')
#
</pre>
</blockquote>
</body>
</html>