[Ocfs2-test-devel] [PATCH 1/7] single_run: Add single_run-WIP

Marcos E. Matsunaga Marcos.Matsunaga at oracle.com
Mon Aug 24 12:28:54 PDT 2009


Sunil,

I think this script should run as a regular user, not root. Just to
prevent any major accident with troubled scripts.

Below is a diff against your version from some changes I made.

---
/home/mmatsuna/git/ocfs2-test/programs/python_common/single_run-WIP.sh     
2009-08-21 08:08:07.953741000 -0700
+++ single_run-WIP.sh   2009-08-21 23:30:45.000000000 -0700
@@ -12,9 +12,10 @@ DEBUGFS_BIN="`which sudo` -u root `which
 TUNEFS_BIN="`which sudo` -u root `which tunefs.ocfs2`"
 MKFS_BIN="`which sudo` -u root `which mkfs.ocfs2`"
 CUT=`which cut`
+CHOWN=`which chown`
 AWK=`which awk`
-MOUNT=`which mount`
-UMOUNT=`which umount`
+MOUNT="`which sudo` -u root `which mount`"
+UMOUNT="`which sudo` -u root `which umount`"
 ECHO=`which echo`
 MKDIR=`which mkdir`
 CAT=`which cat`
@@ -205,7 +206,8 @@ run_aiostress()

                do_format ${blocksize} ${clustersize} ${features} ${device}
                do_mount ${device} ${mountpoint} ${mountopts}
-               ${MKDIR} -p ${workdir}
+               ${SUDO} ${MKDIR} -p ${workdir}
+               ${SUDO} ${CHOWN} -R ${USERNAME} ${workdir}

                F1="${workdir}/aiostress1.dat"
                F2="${workdir}/aiostress2.dat"
@@ -250,7 +252,8 @@ run_buildkernel()

                do_format ${blocksize} ${clustersize} ${features} ${device}
                do_mount ${device} ${mountpoint} ${mountopts}
-               ${MKDIR} -p ${workdir}
+               ${SUDO} ${MKDIR} -p ${workdir}
+               ${SUDO} ${CHOWN} -R ${USERNAME} ${workdir}

                log_start "buildkernel" ${mountopts}

@@ -297,7 +300,8 @@ run_filesizelimits()

        do_format 4096 4096 sparse,unwritten,inline-data ${device}
        do_mount ${device} ${mountpoint} ${mountopts}
-       ${MKDIR} -p ${workdir}
+       ${SUDO} ${MKDIR} -p ${workdir}
+       ${SUDO} ${CHOWN} -R ${USERNAME} ${workdir}

        file="${workdir}/filesizelimits.dat"
        outlog=${logdir}/filesizelimits.log
@@ -423,6 +427,7 @@ EOF

                do_format ${blocksize} ${clustersize} ${features} ${device}
                do_mount ${device} ${mountpoint} ${mountopts}
+               ${SUDO} ${CHOWN} -R ${USERNAME} ${mountpoint}

                ${bindir}/mmap_truncate -c ${CLUSTERSIZE_BITS} -s
${runtime} ${workfile}
                RC=$?
@@ -461,7 +466,8 @@ run_renamewriterace()

                do_format ${blocksize} ${clustersize} ${features} ${device}
                do_mount ${device} ${mountpoint} ${mountopts}
-               ${MKDIR} -p ${workdir}
+               ${SUDO} ${MKDIR} -p ${workdir}
+               ${SUDO} ${CHOWN} -R ${USERNAME} ${workdir}

                 outlog=${logdir}/renamewriterace_${mopt}.log

@@ -514,12 +520,12 @@ else
 #      COMMONDIR=${O2TDIR}/common
 #      WORKFILESDIR=${O2TDIR}/workfiles
 #      LIBDIR=${O2TDIR}/lib
-       LOGDIR=${O2TDIR}/${RUNDATE}
-       LOGFILE=${LOGDIR}/single_run.log
 #      MPIHOSTS=${O2TDIR}/tmp/mpihosts
 #      MPIRUN=${MPIDIR}/mpirun
 #      NPROC=1
 fi
+LOGDIR=${O2TDIR}/${RUNDATE}
+LOGFILE=${LOGDIR}/single_run.log

 if [ -z ${DEVICE} ] ; then
        ${ECHO} "ERROR: No device"


--------------------------

The last change is to prevent LOGDIR from not being defined as LOGFILE
is not currently defined in config.sh. LOGFILE is defined, but it
directs output to a generic logfile and you're trying to keep it all in
one place for single run.

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.”



Sunil Mushran wrote:
> single_run-WIP is a work-in-progress single_run.
>
> Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>
> ---
>  programs/python_common/Makefile          |    2 +
>  programs/python_common/single_run-WIP.sh |  572 ++++++++++++++++++++++++++++++
>  vendor/common/ocfs2-test.spec-generic.in |    1 +
>  3 files changed, 575 insertions(+), 0 deletions(-)
>  create mode 100755 programs/python_common/single_run-WIP.sh
>
> diff --git a/programs/python_common/Makefile b/programs/python_common/Makefile
> index b95d675..289b1fd 100644
> --- a/programs/python_common/Makefile
> +++ b/programs/python_common/Makefile
> @@ -14,6 +14,7 @@ DIST_FILES = 	config_py.skel \
>  		setup.sh \
>  		o2tf.py \
>  		single_run.sh \
> +		single_run-WIP.sh \
>  		multiple_run.sh \
>  		remote_mount.py \
>  		remote_umount.py \
> @@ -24,6 +25,7 @@ BIN_EXTRA = 	config_py.skel \
>  		config_shell.skel \
>  		o2tf.py \
>  		single_run.sh \
> +		single_run-WIP.sh \
>  		remote_mount.py \
>  		remote_umount.py \
>  		command.py	\
> diff --git a/programs/python_common/single_run-WIP.sh b/programs/python_common/single_run-WIP.sh
> new file mode 100755
> index 0000000..50ce38c
> --- /dev/null
> +++ b/programs/python_common/single_run-WIP.sh
> @@ -0,0 +1,572 @@
> +#!/bin/bash
> +#
> +
> +PATH=$PATH:/sbin	# Add /sbin to the path for ocfs2 tools
> +RUNTIME=300		# seconds
> +APP=`basename ${0}`
> +USERNAME=`/usr/bin/whoami`
> +DATE=`which date`
> +HOSTNAME=`which hostname`
> +SUDO="`which sudo` -u root"
> +DEBUGFS_BIN="`which sudo` -u root `which debugfs.ocfs2`"
> +TUNEFS_BIN="`which sudo` -u root `which tunefs.ocfs2`"
> +MKFS_BIN="`which sudo` -u root `which mkfs.ocfs2`"
> +CUT=`which cut`
> +AWK=`which awk`
> +MOUNT=`which mount`
> +UMOUNT=`which umount`
> +ECHO=`which echo`
> +MKDIR=`which mkdir`
> +CAT=`which cat`
> +MD5SUM=`which md5sum`
> +WGET=`which wget`
> +DWNLD_PATH="http://oss.oracle.com/~smushran/ocfs2-test"
> +KERNEL_TARBALL="linux-kernel.tar.gz"
> +KERNEL_TARBALL_CHECK="${KERNEL_TARBALL}.md5sum"
> +
> +# log_message message
> +log_message()
> +{
> +	${ECHO} "`${DATE}  +\"%F %H:%M:%S\"` $@" >> ${LOGFILE}
> +}
> +
> +log_start()
> +{
> +	log_message $@
> +	START=$(date +%s)
> +}
> +
> +# log_end $?
> +log_end()
> +{
> +	if [ "$#" -lt "1" ]; then
> +      		${ECHO} "Error in log_end()"
> +		exit 1
> +	fi
> +
> +	END=$(date +%s)
> +	DIFF=$(( ${END} - ${START} ))
> +
> +	if [ ${1} -ne 0 ]; then
> +		log_message "FAILED (${DIFF} secs)"
> +	else
> +		log_message "PASSED (${DIFF} secs)"
> +	fi
> +
> +	START=0
> +}
> +
> +# get_kernel_source $LOGDIR $DWNLD_PATH $KERNEL_TARBALL $KERNEL_TARBALL_CHECK
> +get_kernel_source()
> +{
> +	if [ "$#" -lt "4" ]; then
> +		${ECHO} "Error in get_kernel_source()"
> +		exit 1
> +	fi
> +
> +	logdir=$1
> +	dwnld_path=$2
> +	kernel_tarball=$3
> +	kernel_tarball_check=$4
> +
> +	cd ${logdir}
> +	${WGET} ${dwnld_path}/${kernel_tarball_check}
> +	if [ $? -ne 0 ]; then
> +		${ECHO} "ERROR downloading ${dwnld_path}/${kernel_tarball_check}"
> +		cd -
> +		exit 1
> +	fi
> +
> +	${WGET} ${dwnld_path}/${kernel_tarball}
> +	if [ $? -ne 0 ]; then
> +		${ECHO} "ERROR downloading ${dwnld_path}/${kernel_tarball}"
> +		cd -
> +		exit 1
> +	fi
> +
> +	${MD5SUM} -c ${kernel_tarball_check}
> +	if [ $? -ne 0 ]; then
> +		${ECHO} "ERROR ${kernel_tarball_check} check failed"
> +		cd -
> +		exit 1
> +	fi
> +	cd -
> +}
> +
> +# get_device_info ${DEVICE}
> +get_device_info()
> +{
> +	if [ "$#" -lt "1" ]; then
> +		${ECHO} "Error in get_device_info()"
> +		exit 1
> +	fi
> +
> +	LABEL=`${TUNEFS_BIN} -q -Q "label=%V\n" ${1}|${CUT} -f2 -d"="`
> +	if [ "X${LABEL}" == "X" ]; then
> +		LABEL="testlabel"
> +	fi
> +
> +	SLOTS=`${TUNEFS_BIN} -q -Q "slots=%N\n" ${DEVICE}|${CUT} -f2 -d"="`
> +
> +	CLUSTERSIZE_BITS=`${DEBUGFS_BIN} -R stats ${DEVICE} | grep Bits| ${AWK} -F" " '{print $8}'`
> +	BLOCKSIZE_BITS=`${DEBUGFS_BIN} -R stats ${DEVICE} | grep Bits| ${AWK} -F" " '{print $4}'`
> +
> +	CLUSTERSIZE=`${ECHO} 2^${CLUSTERSIZE_BITS} |bc`
> +	BLOCKSIZE=`${ECHO} 2^${BLOCKSIZE_BITS} |bc`
> +}
> +
> +# do_format() ${BLOCKSIZE} ${CLUSTERSIZE} ${FEATURES} ${DEVICE}
> +do_format() {
> +	if [ "$#" -lt "4" ]; then
> +      		${ECHO} "Error in do_format() $@"
> +		exit 1
> +	fi
> +
> +	blocksize=$1
> +	clustersize=$2
> +	features=$3
> +	device=$4
> +
> +#	log_message "format ${device}"
> +
> +	${MKFS_BIN} -x -b ${blocksize} -C ${clustersize} --fs-features=${features} \
> +		-N 1 -L single_run -M local ${device} >/dev/null
> +	if [ $? -ne 0 ]; then
> +		${ECHO} "ERROR: mkfs.ocfs2 -b ${blocksize} -C ${clustersize} " \
> +			"--fs-features=${features} -N 1 -L single_run -M local ${device}"
> +		exit 1
> +	fi
> +
> +	get_device_info	${device}
> +}
> +
> +# do_mount ${DEVICE} ${MOUNTPOINT} ${MOUNTOPTS}
> +do_mount() {
> +	if [ "$#" -lt "3" ]; then
> +      		${ECHO} "Error in do_mount()"
> +		exit 1
> +	fi
> +
> +	device=$1
> +	mountpoint=$2
> +	mountopts=$3	
> +
> +#	log_message "mount ${DEVICE} ${MOUNTPOINT}"
> +
> +	${MOUNT} -o ${mountopts} ${device} ${mountpoint} >/dev/null
> +	if [ $? -ne 0 ]; then
> +		${ECHO} "ERROR: mount -o ${mountopts} ${device} ${mountpoint}"
> +		exit 1
> +	fi
> +}
> +
> +# do_umount ${MOUNTPOINT}
> +do_umount() {
> +	if [ "$#" -lt "1" ]; then
> +		${ECHO} "Error in do_umount()"
> +		exit 1
> +	fi
> +
> +	mountpoint=$1
> +
> +#	log_message "umount ${MOUNTPOINT}"
> +
> +	${UMOUNT} ${mountpoint}
> +	if [ $? -ne 0 ]; then
> +		${ECHO} "ERROR: umount ${mountpoint}"
> +		exit 1
> +	fi
> +}
> +
> +# run_aiostress ${BINDIR} ${LOGDIR} ${DEVICE} ${MOUNTPOINT}
> +run_aiostress()
> +{
> +	log_message "run_aiostress" $@
> +        if [ "$#" -lt "4" ]; then
> +                echo "Error in run_aiostress()"
> +                exit 1
> +        fi
> +
> +	bindir=$1
> +	logdir=$2
> +	device=$3
> +	mountpoint=$4
> +
> +	workdir=${mountpoint}/testme
> +	blocksize=4096
> +	clustersize=8192
> +	features="sparse,unwritten,inline-data"
> +
> +	for mopt in writeback ordered
> +	do
> +		mountopts="data=${mopt}"
> +
> +		log_start "aio-stress" ${mountopts}
> +
> +		do_format ${blocksize} ${clustersize} ${features} ${device}
> +		do_mount ${device} ${mountpoint} ${mountopts}
> +		${MKDIR} -p ${workdir}
> +
> +		F1="${workdir}/aiostress1.dat"
> +		F2="${workdir}/aiostress2.dat"
> +		F3="${workdir}/aiostress3.dat"
> +		F4="${workdir}/aiostress4.dat"
> +
> +		outlog=${logdir}/aiostress_${mopt}.log
> +
> +		${bindir}/aio-stress -a 4k -b 32 -i 16 -O -l -L -t 8 -v ${F1} ${F2} ${F3} ${F4} >${outlog} 2>&1
> +		RC=$?
> +
> +		do_umount ${mountpoint}
> +	
> +		log_end ${RC}
> +	done
> +}
> +
> +# run_buildkernel ${BINDIR} ${LOGDIR} ${DEVICE} {MOUNTPOINT} ${KERNELSRC}
> +run_buildkernel()
> +{
> +	log_message "run_buildkernel" $@
> +        if [ "$#" -lt "5" ]; then
> +                echo "Error in run_buildkernel()"
> +                exit 1
> +        fi
> +
> +	bindir=$1
> +	logdir=$2
> +	device=$3
> +	mountpoint=$4
> +	kernelsrc=$5
> +
> +	node=`${HOSTNAME}`
> +	workdir=${mountpoint}/testme
> +	blocksize=4096
> +	clustersize=4096
> +	features="sparse,unwritten,inline-data"
> +
> +	for mopt in writeback ordered
> +	do
> +		mountopts="data=${mopt}"
> +
> +		do_format ${blocksize} ${clustersize} ${features} ${device}
> +		do_mount ${device} ${mountpoint} ${mountopts}
> +		${MKDIR} -p ${workdir}
> +
> +		log_start "buildkernel" ${mountopts}
> +
> +		outlog=${logdir}/buildkernel_${mopt}.log
> +
> +		${bindir}/buildkernel.py -e -d ${workdir} -t ${kernelsrc} -n ${node} -l ${outlog}.1
> +		RC=$?
> +		if [ ${RC} -eq 0 ]; then
> +			${bindir}/buildkernel.py -d ${workdir} -t ${kernelsrc} -n ${node} -l ${outlog}.2
> +			RC=$?
> +		fi
> +
> +		do_umount ${mountpoint}
> +
> +		log_end ${RC}
> +	done
> +}
> +
> +# run_filesizelimits ${BINDIR} ${LOGDIR} ${DEVICE} {MOUNTPOINT}
> +run_filesizelimits()
> +{
> +	log_message "run_filesizelimits" $@
> +        if [ "$#" -lt "4" ]; then
> +                echo "Error in run_filesizelimits()"
> +                exit 1
> +        fi
> +
> +	bindir=$1
> +	logdir=$2
> +	device=$3
> +	mountpoint=$4
> +
> +	mountopts=defaults
> +
> +	workdir=${mountpoint}/testme
> +
> +	if [ `uname -m` == "i686" ]; then
> +		bitsperlong=32
> +	else
> +		bitsperlong=64
> +	fi
> +
> +	log_start "check_file_size_limits"
> +
> +	do_format 4096 4096 sparse,unwritten,inline-data ${device}
> +	do_mount ${device} ${mountpoint} ${mountopts}
> +	${MKDIR} -p ${workdir}
> +
> +	file="${workdir}/filesizelimits.dat"
> +	outlog=${logdir}/filesizelimits.log
> +
> +	${bindir}/check_file_size_limits -B ${bitsperlong} -b ${BLOCKSIZE_BITS} \
> +		-c ${CLUSTERSIZE_BITS} ${file} >${outlog} 2>&1
> +	RC=$?
> +
> +	do_umount ${mountpoint}
> +
> +	log_end ${RC}
> +}
> +
> +# run_fillverifyholes ${BINDIR} ${LOGDIR} ${DEVICE} ${MOUNTPOINT}
> +run_fillverifyholes()
> +{
> +	log_message "run_fillverifyholes" $@
> +        if [ "$#" -lt "4" ]; then
> +                echo "Error in run_fillverifyholes()"
> +                exit 1
> +        fi
> +
> +	bindir=$1
> +	logdir=$2
> +	device=$3
> +	mountpoint=$4
> +
> +	workdir=${mountpoint}/testme
> +
> +	varfile=${logdir}/fillverifyholes.txt
> +
> +	${CAT} > ${varfile} <<EOF
> +2048	4096	nosparse,nounwritten,noinline-data	data=ordered
> +2048	65536	sparse,unwritten,inline-data		data=writeback
> +4096	4096	sparse,unwritten,inline-data		data=ordered
> +4096	8192	nosparse,nounwritten,noinline-data	data=writeback
> +4096	131072	nosparse,nounwritten,noinline-data	data=ordered
> +4096	1048576	sparse,unwritten,inline-data		data=writeback
> +EOF
> +	if [ $? != 0 ]; then
> +		${ECHO} "ERROR writing ${varfile}"
> +		exit 1
> +	fi
> +
> +	i=0
> +	${CAT} ${varfile} | while read LINE
> +	do
> +        	blocksize=`echo ${LINE} | cut -f1 -d' '`
> +        	clustersize=`echo ${LINE} | cut -f2 -d' '`
> +        	features=`echo ${LINE} | cut -f3 -d' '`
> +		mountopts=`echo ${LINE} | cut -f4 -d' '`
> +
> +		log_start "fill_verify_holes" ${blocksize} ${clustersize} ${features} ${mountopts}
> +
> +		outlog=${logdir}/fillverifyholes_${i}.log
> +		ldir=${logdir}/fillverifyholes_${i}
> +		${MKDIR} -p ${ldir}
> +
> +		do_format ${blocksize} ${clustersize} ${features} ${device}
> +		do_mount ${device} ${mountpoint} ${mountopts}
> +		${MKDIR} -p ${workdir}
> +
> +		${bindir}/burn-in.sh -b ${bindir} -l ${ldir} -c 10 -d ${workdir} -i 100 -s 5000000 >${outlog} 2>&1
> +		RC=$?
> +
> +		do_umount ${mountpoint}
> +
> +		log_end ${RC}
> +
> +		i=$[$i+1]
> +	done
> +}
> +
> +# run_mmaptruncate ${BINDIR} ${LOGDIR} ${DEVICE} ${MOUNTPOINT}
> +run_mmaptruncate()
> +{
> +	log_message "run_mmaptruncate" $@
> +        if [ "$#" -lt "4" ]; then
> +                echo "Error in run_mmaptruncate()"
> +                exit 1
> +        fi
> +
> +	bindir=$1
> +	logdir=$2
> +	device=$3
> +	mountpoint=$4
> +
> +	runtime=300
> +	workfile=${mountpoint}/mmaptruncate.txt
> +	varfile=${logdir}/mmaptruncate.conf
> +
> +	${CAT} > ${varfile} <<EOF
> +2048	4096	nosparse,nounwritten,noinline-data	data=ordered
> +2048	65536	sparse,unwritten,inline-data		data=writeback
> +4096	4096	sparse,unwritten,inline-data		data=ordered
> +4096	8192	nosparse,nounwritten,noinline-data	data=writeback
> +4096	131072	sparse,unwritten,inline-data		data=ordered
> +4096	1048576	sparse,unwritten,inline-data		data=writeback
> +EOF
> +	if [ $? != 0 ]; then
> +		${ECHO} "ERROR writing ${varfile}"
> +		exit 1
> +	fi
> +
> +	${CAT} ${varfile} | while read LINE
> +	do
> +        	blocksize=`echo ${LINE} | cut -f1 -d' '`
> +        	clustersize=`echo ${LINE} | cut -f2 -d' '`
> +        	features=`echo ${LINE} | cut -f3 -d' '`
> +		mountopts=`echo ${LINE} | cut -f4 -d' '`
> +
> +		log_start "mmap_truncate" ${blocksize} ${clustersize} ${features} ${mountopts}
> +
> +		do_format ${blocksize} ${clustersize} ${features} ${device}
> +		do_mount ${device} ${mountpoint} ${mountopts}
> +
> +		${bindir}/mmap_truncate -c ${CLUSTERSIZE_BITS} -s ${runtime} ${workfile}
> +		RC=$?
> +
> +		sleep 10
> +		do_umount ${mountpoint}
> +
> +		log_end ${RC}
> +	done
> +}
> +
> +# run_renamewriterace ${BINDIR} ${LOGDIR} ${DEVICE} ${MOUNTPOINT}
> +run_renamewriterace()
> +{
> +	log_message "run_renamewriterace" $@
> +        if [ "$#" -lt "4" ]; then
> +                echo "Error in run_renamewriterace()"
> +                exit 1
> +        fi
> +
> +	bindir=$1
> +	logdir=$2
> +	device=$3
> +	mountpoint=$4
> +
> +	workdir=${mountpoint}/testme
> +	blocksize=4096
> +	clustersize=4096
> +	features="sparse,unwritten,inline-data"
> +
> +	for mopt in writeback ordered
> +	do
> +		mountopts="data=${mopt}"
> +
> +		log_start "rename_write_race" ${mountopts}
> +
> +		do_format ${blocksize} ${clustersize} ${features} ${device}
> +		do_mount ${device} ${mountpoint} ${mountopts}
> +		${MKDIR} -p ${workdir}
> +
> +                outlog=${logdir}/renamewriterace_${mopt}.log
> +
> +		${bindir}/rename_write_race.sh -d ${workdir} -i 10000 >${outlog} 2>&1
> +		RC=$?
> +
> +		do_umount ${mountpoint}
> +
> +		log_end ${RC}
> +	done
> +}
> +
> +#
> +#
> +# MAIN
> +#
> +#
> +
> +usage()
> +{
> +	${ECHO} "usage: ${APP} [-k kerneltarball] -m mountpoint -l logdir -d device"
> +	exit 1
> +}
> +
> +while getopts "d:m:k:l:h?" args
> +do
> +	case "$args" in
> +		d) DEVICE="$OPTARG";;
> +		m) MOUNTPOINT="$OPTARG";;
> +		k) KERNELSRC="$OPTARG";;
> +		l) O2TDIR="$OPTARG";;
> +    		h) USAGE="yes";;
> +    		?) USAGE="yes";;
> +  	esac
> +done
> +
> +
> +if [ ! -z ${USAGE} ]; then
> +	usage
> +fi
> +
> +RUNDATE=`${DATE} +%F_%H:%M`
> +
> +if [ -f ./config.sh ] ; then
> +	. ./config.sh
> +else
> +#	O2TDIR=/usr/local/ocfs2-test
> +	MPIDIR=/usr/lib/openmpi/1.2.7-gcc/bin
> +	BINDIR=/usr/local/ocfs2-test/bin/
> +#	COMMONDIR=${O2TDIR}/common
> +#	WORKFILESDIR=${O2TDIR}/workfiles
> +#	LIBDIR=${O2TDIR}/lib
> +	LOGDIR=${O2TDIR}/${RUNDATE}
> +	LOGFILE=${LOGDIR}/single_run.log
> +#	MPIHOSTS=${O2TDIR}/tmp/mpihosts
> +#	MPIRUN=${MPIDIR}/mpirun
> +#	NPROC=1
> +fi
> +
> +if [ -z ${DEVICE} ] ; then
> +	${ECHO} "ERROR: No device"
> +	usage
> +elif [ ! -b ${DEVICE} ] ; then
> +	${ECHO} "ERROR: Invalid device ${DEVICE}"
> +	exit 1
> +fi
> +
> +if [ -z ${MOUNTPOINT} ] ; then
> +	${ECHO} "ERROR: No mountpoint"
> +	usage
> +elif [ ! -d ${MOUNTPOINT} ] ; then
> +	${ECHO} "ERROR: Invalid mountpoint ${MOUNTPOINT}"
> +	exit 1
> +fi
> +
> +if [ -z ${O2TDIR} ]; then
> +	${ECHO} "ERROR: No logdir"
> +	usage
> +fi
> +
> +if [ ! -d ${O2TDIR} ]; then
> +	mkdir -p ${O2TDIR}
> +fi
> +
> +${MKDIR} -p ${LOGDIR}
> +
> +if [ -z ${KERNELSRC} ]; then
> +	get_kernel_source $LOGDIR $DWNLD_PATH $KERNEL_TARBALL $KERNEL_TARBALL_CHECK
> +	KERNELSRC=${LOGDIR}/${KERNEL_TARBALL}
> +fi
> +
> +if [ ! -f ${KERNELSRC} ]; then
> +	${ECHO} "No kernel source"
> +	usage
> +fi
> +
> +STARTRUN=$(date +%s)
> +log_message "*** Start Single Node test ***"
> +
> +${ECHO} "Output log is ${LOGFILE}"
> +
> +run_fillverifyholes ${BINDIR} ${LOGDIR} ${DEVICE} ${MOUNTPOINT}
> +
> +run_renamewriterace ${BINDIR} ${LOGDIR} ${DEVICE} ${MOUNTPOINT}
> +
> +run_aiostress ${BINDIR} ${LOGDIR} ${DEVICE} ${MOUNTPOINT}
> +
> +run_filesizelimits ${BINDIR} ${LOGDIR} ${DEVICE} ${MOUNTPOINT}
> +
> +run_mmaptruncate ${BINDIR} ${LOGDIR} ${DEVICE} ${MOUNTPOINT}
> +
> +run_buildkernel ${BINDIR} ${LOGDIR} ${DEVICE} ${MOUNTPOINT} ${KERNELSRC}
> +
> +ENDRUN=$(date +%s)
> +
> +DIFF=$(( ${ENDRUN} - ${STARTRUN} ))
> +log_message "Total Runtime ${DIFF} seconds"
> +log_message "*** End Single Node test ***"
> diff --git a/vendor/common/ocfs2-test.spec-generic.in b/vendor/common/ocfs2-test.spec-generic.in
> index bae26d2..b37e870 100644
> --- a/vendor/common/ocfs2-test.spec-generic.in
> +++ b/vendor/common/ocfs2-test.spec-generic.in
> @@ -113,6 +113,7 @@ rm -rf "$RPM_BUILD_ROOT"
>  %{_installdir}/bin/open_delete.py
>  %{_installdir}/bin/o2tf.py
>  %{_installdir}/bin/single_run.sh
> +%{_installdir}/bin/single_run-WIP.sh
>  %{_installdir}/bin/remote_mount.py
>  %{_installdir}/bin/remote_umount.py
>  %{_installdir}/bin/command.py
>   
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://oss.oracle.com/pipermail/ocfs2-test-devel/attachments/20090824/bf565851/attachment-0001.html 


More information about the Ocfs2-test-devel mailing list