svn commit: r290354 - user/pho/stress2/misc
Peter Holm
pho at FreeBSD.org
Wed Nov 4 08:13:31 UTC 2015
Author: pho
Date: Wed Nov 4 08:13:25 2015
New Revision: 290354
URL: https://svnweb.freebsd.org/changeset/base/290354
Log:
Added kldunload of zfs.ko for small RAM test systems.
Added a new test.
Sponsored by: EMC / Isilon storage division
Added:
user/pho/stress2/misc/zfs6.sh (contents, props changed)
Modified:
user/pho/stress2/misc/zfs.sh
user/pho/stress2/misc/zfs2.sh
user/pho/stress2/misc/zfs3.sh
user/pho/stress2/misc/zfs4.sh
user/pho/stress2/misc/zfs5.sh
Modified: user/pho/stress2/misc/zfs.sh
==============================================================================
--- user/pho/stress2/misc/zfs.sh Wed Nov 4 08:10:07 2015 (r290353)
+++ user/pho/stress2/misc/zfs.sh Wed Nov 4 08:13:25 2015 (r290354)
@@ -35,7 +35,7 @@
. ../default.cfg
-kldstat -v | grep -q zfs.ko || kldload zfs.ko
+kldstat -v | grep -q zfs.ko || { kldload zfs.ko; loaded=1; }
u1=$mdstart
u2=$((u1 + 1))
@@ -49,6 +49,7 @@ mdconfig -s 512m -u $u1
mdconfig -s 512m -u $u2
mdconfig -s 512m -u $u3
+[ -d /tank ] && rm -rf /tank
zpool create tank raidz md$u1 md$u2 md$u3
zfs create tank/test
@@ -62,3 +63,4 @@ zpool destroy tank
mdconfig -d -u $u1
mdconfig -d -u $u2
mdconfig -d -u $u3
+[ -n "$loaded" ] && kldunload zfs.ko
Modified: user/pho/stress2/misc/zfs2.sh
==============================================================================
--- user/pho/stress2/misc/zfs2.sh Wed Nov 4 08:10:07 2015 (r290353)
+++ user/pho/stress2/misc/zfs2.sh Wed Nov 4 08:13:25 2015 (r290354)
@@ -35,7 +35,7 @@
. ../default.cfg
-kldstat -v | grep -q zfs.ko || kldload zfs.ko
+kldstat -v | grep -q zfs.ko || { kldload zfs.ko; loaded=1; }
d1=${diskimage}.1
d2=${diskimage}.2
@@ -52,6 +52,7 @@ mdconfig -l | grep -q md${u2} && mdconfi
mdconfig -a -t vnode -f $d1 -u $u1
mdconfig -a -t vnode -f $d2 -u $u2
+[ -d /tank ] && rm -rf /tank
zpool create tank mirror md$u1 md$u2
export RUNDIR=/tank/stressX
@@ -65,3 +66,4 @@ mdconfig -d -u $u1
mdconfig -d -u $u2
rm -rf $d1 $d2
+[ -n "$loaded" ] && kldunload zfs.ko
Modified: user/pho/stress2/misc/zfs3.sh
==============================================================================
--- user/pho/stress2/misc/zfs3.sh Wed Nov 4 08:10:07 2015 (r290353)
+++ user/pho/stress2/misc/zfs3.sh Wed Nov 4 08:13:25 2015 (r290354)
@@ -37,7 +37,7 @@
. ../default.cfg
-kldstat -v | grep -q zfs.ko || kldload zfs.ko
+kldstat -v | grep -q zfs.ko || { kldload zfs.ko; loaded=1; }
d1=${diskimage}.1
d2=${diskimage}.2
@@ -54,6 +54,7 @@ mdconfig -l | grep -q md${u2} && mdconfi
mdconfig -a -t vnode -f $d1 -u $u1
mdconfig -a -t vnode -f $d2 -u $u2
+[ -d /tank ] && rm -rf /tank
zpool create tank md$u1 md$u2
zfs create tank/test
zfs set quota=800m tank/test
@@ -73,3 +74,4 @@ mdconfig -d -u $u1
mdconfig -d -u $u2
rm -rf $d1 $d2
+[ -n "$loaded" ] && kldunload zfs.ko
Modified: user/pho/stress2/misc/zfs4.sh
==============================================================================
--- user/pho/stress2/misc/zfs4.sh Wed Nov 4 08:10:07 2015 (r290353)
+++ user/pho/stress2/misc/zfs4.sh Wed Nov 4 08:13:25 2015 (r290354)
@@ -35,7 +35,7 @@
. ../default.cfg
-kldstat -v | grep -q zfs.ko || kldload zfs.ko
+kldstat -v | grep -q zfs.ko || { kldload zfs.ko; loaded=1; }
d1=${diskimage}.1
d2=${diskimage}.2
@@ -52,6 +52,7 @@ mdconfig -l | grep -q md${u2} && mdconfi
mdconfig -a -t vnode -f $d1 -u $u1
mdconfig -a -t vnode -f $d2 -u $u2
+[ -d /tank ] && rm -rf /tank
zpool create tank md$u1 md$u2
zfs create tank/test
zfs set quota=100m tank/test
@@ -76,3 +77,4 @@ mdconfig -d -u $u1
mdconfig -d -u $u2
rm -rf $d1 $d2
+[ -n "$loaded" ] && kldunload zfs.ko
Modified: user/pho/stress2/misc/zfs5.sh
==============================================================================
--- user/pho/stress2/misc/zfs5.sh Wed Nov 4 08:10:07 2015 (r290353)
+++ user/pho/stress2/misc/zfs5.sh Wed Nov 4 08:13:25 2015 (r290354)
@@ -35,7 +35,7 @@
. ../default.cfg
-kldstat -v | grep -q zfs.ko || kldload zfs.ko
+kldstat -v | grep -q zfs.ko || { kldload zfs.ko; loaded=1; }
d1=${diskimage}.1
d2=${diskimage}.2
@@ -43,6 +43,7 @@ d2=${diskimage}.2
dd if=/dev/zero of=$d1 bs=1m count=1k 2>&1 | egrep -v "records|transferred"
dd if=/dev/zero of=$d2 bs=1m count=1k 2>&1 | egrep -v "records|transferred"
+[ -d /tank ] && rm -rf /tank
zpool create tank $d1 $d2
zfs create tank/test
zfs set quota=100m tank/test
@@ -65,3 +66,4 @@ zfs destroy -r tank
zpool destroy tank
rm -rf $d1 $d2
+[ -n "$loaded" ] && kldunload zfs.ko
Added: user/pho/stress2/misc/zfs6.sh
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ user/pho/stress2/misc/zfs6.sh Wed Nov 4 08:13:25 2015 (r290354)
@@ -0,0 +1,75 @@
+#!/bin/sh
+
+#
+# Copyright (c) 2009 Peter Holm <pho at 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$
+#
+
+# Parallel mount / umount and snapshots. No problems seen.
+
+[ `id -u ` -ne 0 ] && echo "Must be root!" && exit 1
+[ $((`sysctl -n hw.usermem` / 1024 / 1024 / 1024)) -le 3 ] && exit 0
+
+. ../default.cfg
+
+kldstat -v | grep -q zfs.ko || { kldload zfs.ko; loaded=1; }
+
+u1=$mdstart
+u2=$((u1 + 1))
+u3=$((u2 + 1))
+
+mdconfig -l | grep -q md${u1} && mdconfig -d -u $u1
+mdconfig -l | grep -q md${u2} && mdconfig -d -u $u2
+mdconfig -l | grep -q md${u3} && mdconfig -d -u $u3
+
+mdconfig -s 512m -u $u1
+mdconfig -s 512m -u $u2
+mdconfig -s 512m -u $u3
+
+[ -d /tank ] && rm -rf /tank
+zpool create tank raidz md$u1 md$u2 md$u3
+zfs create tank/test
+
+while true; do
+ zfs umount tank/test
+ zfs mount tank/test
+done &
+
+for i in `jot 5000`; do
+ touch /tank/test/f$i
+ zfs snapshot tank/test@$i
+ if [ $i -gt 5 ]; then
+ zfs destroy tank/test@$((i - 5))
+ fi
+done
+kill $!
+zfs destroy -r tank
+zpool destroy tank
+
+mdconfig -d -u $u1
+mdconfig -d -u $u2
+mdconfig -d -u $u3
+[ -n "$loaded" ] && kldunload zfs.ko
More information about the svn-src-user
mailing list