Date: Tue, 17 Feb 2015 15:04:53 +0000 (UTC) From: Peter Holm <pho@FreeBSD.org> To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r278903 - user/pho/stress2/misc Message-ID: <201502171504.t1HF4rAu061931@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: pho Date: Tue Feb 17 15:04:53 2015 New Revision: 278903 URL: https://svnweb.freebsd.org/changeset/base/278903 Log: Changed the name of the snapshot file, make two tests less verbose and add a new tests based on a bug report. Sponsored by: EMC / Isilon storage division Added: user/pho/stress2/misc/snap9.sh (contents, props changed) Modified: user/pho/stress2/misc/snap.sh user/pho/stress2/misc/snap2-1.sh user/pho/stress2/misc/snap2.sh user/pho/stress2/misc/snap3.sh user/pho/stress2/misc/snap4.sh user/pho/stress2/misc/snap5-1.sh user/pho/stress2/misc/snap5.sh user/pho/stress2/misc/snap6.sh user/pho/stress2/misc/snap7.sh Modified: user/pho/stress2/misc/snap.sh ============================================================================== --- user/pho/stress2/misc/snap.sh Tue Feb 17 14:48:16 2015 (r278902) +++ user/pho/stress2/misc/snap.sh Tue Feb 17 15:04:53 2015 (r278903) @@ -32,25 +32,25 @@ . ../default.cfg -mount | grep -q "on /tmp " || exit 0 +mount | grep -q "on /tmp (ufs," || exit 0 mount | grep -q "/dev/md$mdstart on $mntpoint" && umount $mntpoint -rm -f /tmp/.snap/pho -trap "rm -f /tmp/.snap/pho" 0 +rm -f /tmp/.snap/stress2 +trap "rm -f /tmp/.snap/stress2" 0 for i in `jot 2`; do - mksnap_ffs /tmp /tmp/.snap/pho - mdconfig -a -t vnode -f /tmp/.snap/pho -u $mdstart -o readonly + mksnap_ffs /tmp /tmp/.snap/stress2 + mdconfig -a -t vnode -f /tmp/.snap/stress2 -u $mdstart -o readonly mount -r /dev/md$mdstart $mntpoint ls -l $mntpoint > /dev/null umount $mntpoint mdconfig -d -u $mdstart - rm -f /tmp/.snap/pho + rm -f /tmp/.snap/stress2 done for i in `jot 2`; do - mksnap_ffs /tmp /tmp/.snap/pho - rm -f /tmp/.snap/pho + mksnap_ffs /tmp /tmp/.snap/stress2 + rm -f /tmp/.snap/stress2 done Modified: user/pho/stress2/misc/snap2-1.sh ============================================================================== --- user/pho/stress2/misc/snap2-1.sh Tue Feb 17 14:48:16 2015 (r278902) +++ user/pho/stress2/misc/snap2-1.sh Tue Feb 17 15:04:53 2015 (r278903) @@ -42,15 +42,15 @@ # --- trap 0xc, eip = 0xc060bcfb, esp = 0xe76728f8, ebp = 0xe767291c --- # g_io_request(c53ff7bc,c5051d40,d8c72408,c54ca110,e7672950) at g_io_request+0x5f -mount | grep -q "on /tmp " || exit 0 -rm -f /tmp/.snap/pho +mount | grep -q "on /tmp (ufs," || exit 0 +rm -f /tmp/.snap/stress2 [ -d /tmp/.snap ] || mkdir /tmp/.snap -trap "rm -f /tmp/.snap/pho" 0 +trap "rm -f /tmp/.snap/stress2" 0 mount | grep "$mntpoint" | grep -q md$mdstart && umount $mntpoint mdconfig -l | grep -q md$mdstart && mdconfig -d -u $mdstart -mksnap_ffs /tmp /tmp/.snap/pho -mdconfig -a -t vnode -o readonly -f /tmp/.snap/pho -u $mdstart +mksnap_ffs /tmp /tmp/.snap/stress2 +mdconfig -a -t vnode -o readonly -f /tmp/.snap/stress2 -u $mdstart mount -o ro /dev/md$mdstart $mntpoint ls -lR $mntpoint > /dev/null 2>&1 & @@ -58,4 +58,4 @@ mdconfig -d -u $mdstart > /dev/null 2>&1 umount -f $mntpoint mdconfig -d -u $mdstart -rm -f /tmp/.snap/pho +rm -f /tmp/.snap/stress2 Modified: user/pho/stress2/misc/snap2.sh ============================================================================== --- user/pho/stress2/misc/snap2.sh Tue Feb 17 14:48:16 2015 (r278902) +++ user/pho/stress2/misc/snap2.sh Tue Feb 17 15:04:53 2015 (r278903) @@ -42,14 +42,14 @@ . ../default.cfg -mount | grep -q "on /tmp " || exit 0 -rm -f /tmp/.snap/pho -trap "rm -f /tmp/.snap/pho" 0 +mount | grep -q "on /tmp (ufs," || exit 0 +rm -f /tmp/.snap/stress2 +trap "rm -f /tmp/.snap/stress2" 0 mount | grep "${mntpoint}" | grep -q md${mdstart} && umount -f ${mntpoint} mdconfig -l | grep -q md${mdstart} && mdconfig -d -u ${mdstart} -mksnap_ffs /tmp /tmp/.snap/pho -mdconfig -a -t vnode -f /tmp/.snap/pho -u $mdstart -o readonly +mksnap_ffs /tmp /tmp/.snap/stress2 +mdconfig -a -t vnode -f /tmp/.snap/stress2 -u $mdstart -o readonly mount -r /dev/md${mdstart} ${mntpoint} ls -lR > /dev/null 2>&1 & @@ -58,4 +58,4 @@ mdconfig -d -u $mdstart > /dev/null 2>&1 umount ${mntpoint} > /dev/null 2>&1 umount -f ${mntpoint} > /dev/null 2>&1 mdconfig -d -u $mdstart -rm -f /tmp/.snap/pho +rm -f /tmp/.snap/stress2 Modified: user/pho/stress2/misc/snap3.sh ============================================================================== --- user/pho/stress2/misc/snap3.sh Tue Feb 17 14:48:16 2015 (r278902) +++ user/pho/stress2/misc/snap3.sh Tue Feb 17 15:04:53 2015 (r278903) @@ -35,10 +35,10 @@ # Test with two snapshots # 20070506 Page fault in g_io_request+0x7f -mount | grep -q "on /tmp " || exit 0 -rm -f /tmp/.snap/pho.1 -rm -f /tmp/.snap/pho.2 -trap "rm -f /tmp/.snap/pho.?" 0 +mount | grep -q "on /tmp (ufs," || exit 0 +rm -f /tmp/.snap/stress2.1 +rm -f /tmp/.snap/stress2.2 +trap "rm -f /tmp/.snap/stress2.?" 0 mount | grep $mntpoint | grep -q md && umount $mntpoint m1=$mdstart m2=$((m1 + 1)) @@ -47,11 +47,11 @@ mdconfig -l | grep -q md$m2 && mdconfig start=`date '+%s'` while [ `date '+%s'` -lt $((start + 1800)) ]; do - mksnap_ffs /tmp /tmp/.snap/pho.1 - mksnap_ffs /tmp /tmp/.snap/pho.2 - if [ -r /tmp/.snap/pho.1 -a -r /tmp/.snap/pho.2 ]; then - mdconfig -a -t vnode -f /tmp/.snap/pho.1 -u $m1 -o readonly - mdconfig -a -t vnode -f /tmp/.snap/pho.2 -u $m2 -o readonly + mksnap_ffs /tmp /tmp/.snap/stress2.1 + mksnap_ffs /tmp /tmp/.snap/stress2.2 + if [ -r /tmp/.snap/stress2.1 -a -r /tmp/.snap/stress2.2 ]; then + mdconfig -a -t vnode -f /tmp/.snap/stress2.1 -u $m1 -o readonly + mdconfig -a -t vnode -f /tmp/.snap/stress2.2 -u $m2 -o readonly mount -o ro /dev/md$m1 $mntpoint sleep 3 @@ -60,5 +60,5 @@ while [ `date '+%s'` -lt $((start + 1800 mdconfig -d -u $m1 mdconfig -d -u $m2 fi - rm -f /tmp/.snap/pho.1 /tmp/.snap/pho.2 + rm -f /tmp/.snap/stress2.1 /tmp/.snap/stress2.2 done Modified: user/pho/stress2/misc/snap4.sh ============================================================================== --- user/pho/stress2/misc/snap4.sh Tue Feb 17 14:48:16 2015 (r278902) +++ user/pho/stress2/misc/snap4.sh Tue Feb 17 15:04:53 2015 (r278903) @@ -34,23 +34,23 @@ . ../default.cfg -mount | grep -q "on /tmp " || exit 0 +mount | grep -q "on /tmp (ufs," || exit 0 mount | grep -q "/dev/md$mdstart on $mntpoint" && umount $mntpoint mdconfig -l | grep -q md$mdstart && mdconfig -d -u $mdstart -rm -f /tmp/.snap/pho -trap "rm -f /tmp/.snap/pho" 0 +rm -f /tmp/.snap/stress2 +trap "rm -f /tmp/.snap/stress2" 0 start=`date '+%s'` while [ `date '+%s'` -lt $((start + 1800)) ]; do - mksnap_ffs /tmp /tmp/.snap/pho - mdconfig -a -t vnode -f /tmp/.snap/pho -u $mdstart -o readonly + mksnap_ffs /tmp /tmp/.snap/stress2 + mdconfig -a -t vnode -f /tmp/.snap/stress2 -u $mdstart -o readonly mount -o ro /dev/md$mdstart $mntpoint ls -l $mntpoint > /dev/null - rm -f /tmp/.snap/pho + rm -f /tmp/.snap/stress2 sleep 1 umount $mntpoint mdconfig -d -u $mdstart - rm -f /tmp/.snap/pho + rm -f /tmp/.snap/stress2 done Modified: user/pho/stress2/misc/snap5-1.sh ============================================================================== --- user/pho/stress2/misc/snap5-1.sh Tue Feb 17 14:48:16 2015 (r278902) +++ user/pho/stress2/misc/snap5-1.sh Tue Feb 17 15:04:53 2015 (r278903) @@ -32,11 +32,11 @@ . ../default.cfg -mount | grep -q "on /tmp " || exit 0 +mount | grep -q "on /tmp (ufs," || exit 0 mnt2=${mntpoint}2 [ ! -d $mnt2 ] && mkdir $mnt2 -trap "rm -f /tmp/.snap/pho" 0 +trap "rm -f /tmp/.snap/stress2" 0 start=`date '+%s'` while [ `date '+%s'` -lt $((start + 1800)) ]; do if mount | grep -q "/dev/md$mdstart on $mnt2"; then @@ -45,15 +45,16 @@ while [ `date '+%s'` -lt $((start + 1800 if mdconfig -l | grep -q md$mdstart; then mdconfig -d -u $mdstart || exit 3 fi - rm -f /tmp/.snap/pho + rm -f /tmp/.snap/stress2 date '+%T' - mksnap_ffs /tmp /tmp/.snap/pho || continue - mdconfig -a -t vnode -f /tmp/.snap/pho -u $mdstart -o readonly || exit 4 + mksnap_ffs /tmp /tmp/.snap/stress2 || continue + mdconfig -a -t vnode -f /tmp/.snap/stress2 -u $mdstart -o readonly || + exit 4 mount -o ro /dev/md$mdstart $mnt2 || exit 5 ls -l $mnt2 > /dev/null - r=`head -c4 /dev/urandom | od -N2 -tu4 | sed -ne '1s/ *$//;1s/.* //p'` + r=`head -c4 /dev/random | od -N2 -tu4 | sed -ne '1s/ *$//;1s/.* //p'` sleep $(( r % 120 )) done mount | grep -q "/dev/md$mdstart on $mnt2" && umount $mnt2 Modified: user/pho/stress2/misc/snap5.sh ============================================================================== --- user/pho/stress2/misc/snap5.sh Tue Feb 17 14:48:16 2015 (r278902) +++ user/pho/stress2/misc/snap5.sh Tue Feb 17 15:04:53 2015 (r278903) @@ -32,26 +32,26 @@ . ../default.cfg -mount | grep -q "on /tmp " || exit 0 +mount | grep -q "on /tmp (ufs," || exit 0 mnt2=${mntpoint}2 [ ! -d $mnt2 ] && mkdir $mnt2 mount | grep -q "/dev/md$mdstart on $mnt2" && umount $mnt2 mdconfig -l | grep -q md$mdstart && mdconfig -d -u $mdstart -rm -f /tmp/.snap/pho -trap "rm -f /tmp/.snap/pho" 0 +rm -f /tmp/.snap/stress2 +trap "rm -f /tmp/.snap/stress2" 0 start=`date '+%s'` while [ `date '+%s'` -lt $((start + 1800)) ]; do date '+%T' - mksnap_ffs /tmp /tmp/.snap/pho - mdconfig -a -t vnode -f /tmp/.snap/pho -u $mdstart -o readonly + mksnap_ffs /tmp /tmp/.snap/stress2 + mdconfig -a -t vnode -f /tmp/.snap/stress2 -u $mdstart -o readonly mount -o ro /dev/md$mdstart $mnt2 ls -l $mnt2 > /dev/null - r=`head -c4 /dev/urandom | od -N2 -tu4 | sed -ne '1s/ *$//;1s/.* //p'` + r=`head -c4 /dev/random | od -N2 -tu4 | sed -ne '1s/ *$//;1s/.* //p'` sleep $(( r % 120 )) umount $mnt2 mdconfig -d -u $mdstart - rm -f /tmp/.snap/pho + rm -f /tmp/.snap/stress2 done Modified: user/pho/stress2/misc/snap6.sh ============================================================================== --- user/pho/stress2/misc/snap6.sh Tue Feb 17 14:48:16 2015 (r278902) +++ user/pho/stress2/misc/snap6.sh Tue Feb 17 15:04:53 2015 (r278903) @@ -25,21 +25,21 @@ root=/var -mount | grep -q "on /var " || exit 0 -rm -f $root/.snap/pho $root/big $root/big2 -trap "rm -f $root/.snap/pho $root/big $root/big2" 0 +mount | grep -q "on /var (ufs," || exit 0 +rm -f $root/.snap/stress2 $root/big $root/big2 +trap "rm -f $root/.snap/stress2 $root/big $root/big2" 0 free=`df $root | tail -1 | awk '{print $4}'` dd if=/dev/zero of=$root/big bs=1m count=$(( free / 1024 - 90)) > /dev/null 2>&1 df $root for i in `jot 1024`; do date - nice -20 mksnap_ffs $root $root/.snap/pho & + nice -20 mksnap_ffs $root $root/.snap/stress2 & dd if=/dev/zero of=$root/big2 bs=1m > /dev/null 2>&1 wait - [ -f $root/.snap/pho ] && exit 0 - rm -f $root/.snap/pho $root/big2 + [ -f $root/.snap/stress2 ] && exit 0 + rm -f $root/.snap/stress2 $root/big2 done df $root -rm -f $root/.snap/pho $root/big $root/big2 +rm -f $root/.snap/stress2 $root/big $root/big2 Modified: user/pho/stress2/misc/snap7.sh ============================================================================== --- user/pho/stress2/misc/snap7.sh Tue Feb 17 14:48:16 2015 (r278902) +++ user/pho/stress2/misc/snap7.sh Tue Feb 17 15:04:53 2015 (r278903) @@ -35,23 +35,23 @@ # Test with unmount and paralless access to mountpoint # 20070508 page fault in g_io_request+0xa6 -mount | grep -q "on /tmp " || exit 0 +mount | grep -q "on /tmp (ufs," || exit 0 mount | grep -q "/dev/md$mdstart on $mntpoint" && umount $mntpoint -rm -f /tmp/.snap/pho.1 -trap "rm -f /tmp/.snap/pho.1" 0 +rm -f /tmp/.snap/stress2.1 +trap "rm -f /tmp/.snap/stress2.1" 0 mount | grep "$mntpoint" | grep -q md$mdstart && umount $mntpoint mdconfig -l | grep -q md$mdstart && mdconfig -d -u $mdstart start=`date '+%s'` while [ `date '+%s'` -lt $((start + 1800)) ]; do - mksnap_ffs /tmp /tmp/.snap/pho.1 - mdconfig -a -t vnode -f /tmp/.snap/pho.1 -u $mdstart -o readonly + mksnap_ffs /tmp /tmp/.snap/stress2.1 + mdconfig -a -t vnode -f /tmp/.snap/stress2.1 -u $mdstart -o readonly sh -c "while true; do ls $mntpoint > /dev/null;done" & for i in `jot 64`; do - mount -o ro /dev/md$mdstart $mntpoint - umount $mntpoint + mount -o ro /dev/md$mdstart $mntpoint 2>/dev/null + umount $mntpoint 2>/dev/null done kill $! mdconfig -d -u $mdstart - rm -f /tmp/.snap/pho.1 + rm -f /tmp/.snap/stress2.1 done Added: user/pho/stress2/misc/snap9.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/pho/stress2/misc/snap9.sh Tue Feb 17 15:04:53 2015 (r278903) @@ -0,0 +1,70 @@ +#!/bin/sh + +# +# Copyright (c) 2013 Peter Holm <pho@FreeBSD.org> +# 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$ +# + +# Disk full with one snapshot scenario +# "panic: softdep_deallocate_dependencies: unrecovered I/O error" seen. + +# kern/162362: ufs with snapshot(s) panics when getting full + + +[ `id -u ` -ne 0 ] && echo "Must be root!" && exit 1 + +. ../default.cfg + +exit 0 # Waiting for fix. Still an issue @ 20150217 + +mount | grep $mntpoint | grep -q /dev/md && umount -f $mntpoint +mdconfig -l | grep -q md$mdstart && mdconfig -d -u $mdstart + +mdconfig -a -t swap -s 2g -u $mdstart || exit 1 +bsdlabel -w md$mdstart auto +newfs $newfs_flags md${mdstart}$part > /dev/null +mount /dev/md${mdstart}$part $mntpoint + +dd if=/dev/zero of=$mntpoint/big1 bs=1m count=512 2>&1 | \ + egrep -v "records|transferred" +dd if=/dev/zero of=$mntpoint/big2 bs=1m count=512 2>&1 | \ + egrep -v "records|transferred" +dd if=/dev/zero of=$mntpoint/big3 bs=1m count=512 2>&1 | \ + egrep -v "records|transferred" + +mksnap_ffs $mntpoint $mntpoint/.snap/snap + +for i in `jot 10`; do + dd if=/dev/zero of=$mntpoint/big.$i bs=1m count=512 2>&1 | \ + egrep -v "records|transferred" || break +done +rm $mntpoint/big.* +rm -f $mntpoint/.snap/snap + +while mount | grep "$mntpoint" | grep -q md$mdstart; do + umount /mnt || sleep 1 +done +mdconfig -d -u $mdstart
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201502171504.t1HF4rAu061931>