<!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">&lt;Marcos.Matsunaga@oracle.com&gt;</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">&lt;tristan.ye@oracle.com&gt;</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}&gt;&gt;${logfile} 2&gt;&amp;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}&gt;&gt;${logfile} 2&gt;&amp;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>