svn commit: r328131 - user/pho/stress2/misc
Rodney W. Grimes
freebsd at pdx.rh.CN85.dnsmgr.net
Thu Jan 18 18:12:17 UTC 2018
[ Charset UTF-8 unsupported, converting... ]
> Author: pho
> Date: Thu Jan 18 16:22:05 2018
> New Revision: 328131
> URL: https://svnweb.freebsd.org/changeset/base/328131
>
> Log:
> Added a new test scenario.
It may be helpful in the future when reading logs if you
listed the test that was added here rather than just say
you added a test, ie:
Added ext2fs parallel mount & umount test scenario
would be a much nicer svn log entry to read.
Thanks,
Rod
>
> Sponsored by: Dell EMC Isilon
>
> Added:
> user/pho/stress2/misc/crossmp10.sh (contents, props changed)
>
> Added: user/pho/stress2/misc/crossmp10.sh
> ==============================================================================
> --- /dev/null 00:00:00 1970 (empty, because file is newly added)
> +++ user/pho/stress2/misc/crossmp10.sh Thu Jan 18 16:22:05 2018 (r328131)
> @@ -0,0 +1,102 @@
> +#!/bin/sh
> +
> +#
> +# Copyright (c) 2016 Dell EMC Isilon
> +# All rights reserved.
> +#
> +# Redistribution and use in source and binary forms, with or without
> +# modification, are permitted provided that the following conditions
> +# are met:
> +# 1. Redistributions of source code must retain the above copyright
> +# notice, this list of conditions and the following disclaimer.
> +# 2. Redistributions in binary form must reproduce the above copyright
> +# notice, this list of conditions and the following disclaimer in the
> +# documentation and/or other materials provided with the distribution.
> +#
> +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
> +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
> +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
> +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
> +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
> +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
> +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
> +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
> +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
> +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
> +# SUCH DAMAGE.
> +#
> +# $FreeBSD$
> +#
> +
> +# ext2fs parallel mount & umount test scenario
> +
> +[ `id -u ` -ne 0 ] && echo "Must be root!" && exit 1
> +[ -z "`which mke2fs`" ] && echo "mke2fs not found" && exit 0
> +
> +. ../default.cfg
> +
> +CONT=/tmp/crossmp10.continue
> +N=4
> +size=512
> +
> +mounts=$N # Number of parallel scripts
> +
> +if [ $# -eq 0 ]; then
> + for i in `jot $mounts`; do
> + m=$(( i + mdstart - 1 ))
> + [ ! -d ${mntpoint}$m ] &&
> + { mkdir ${mntpoint}$m; chmod 755 ${mntpoint}$m; }
> + mount | grep "${mntpoint}$m" | grep -q md$m && umount ${mntpoint}$m
> + mdconfig -l | grep -q md$m && mdconfig -d -u $m
> +
> + mdconfig -a -t swap -s ${size}m -u $m
> + bsdlabel -w md$m auto
> + mke2fs -m 0 /dev/md${m}$part > /dev/null 2>&1
> + done
> +
> + # start the parallel tests
> + touch $CONT
> + for i in `jot $mounts`; do
> + m=$(( i + mdstart - 1 ))
> + ./$0 $m &
> + ./$0 find &
> + done
> +
> + wait
> +
> + for i in `jot $mounts`; do
> + m=$(( i + mdstart - 1 ))
> + mdconfig -d -u $m
> + done
> +
> +else
> + if [ $1 = find ]; then
> + while [ -f $CONT ]; do
> + find ${mntpoint}* -ls > /dev/null 2>&1
> + sleep .1
> + done
> + else
> + export runRUNTIME=30s
> + # The test: Parallel mount and unmounts
> + start=`date '+%s'`
> + while [ $((`date '+%s'` - start)) -lt 300 ]; do
> + m=$1
> + mount -t ext2fs /dev/md${m}$part ${mntpoint}$m &&
> + chmod 777 ${mntpoint}$m
> + export RUNDIR=${mntpoint}$m/stressX
> + export CTRLDIR=${mntpoint}$m/stressX.control
> + (cd ${mntpoint}$m && find . -delete)
> + su $testuser -c 'cd ..; ./run.sh disk.cfg' > /dev/null 2>&1 &
> +
> + sleep 2
> + while mount | grep -q "on ${mntpoint}$m "; do
> + opt=$([ `jot -r 1 0 1` -eq 0 ] && echo "-f")
> + umount $opt ${mntpoint}$m > /dev/null 2>&1
> + [ -f $CONT ] || break 2
> + done
> + wait $!
> + done
> + rm -f $CONT
> + ../tools/killall.sh
> + fi
> +fi
>
>
--
Rod Grimes rgrimes at freebsd.org
More information about the svn-src-user
mailing list