Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 4 Nov 2015 08:13:25 +0000 (UTC)
From:      Peter Holm <pho@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-user@freebsd.org
Subject:   svn commit: r290354 - user/pho/stress2/misc
Message-ID:  <201511040813.tA48DPlm091244@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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@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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201511040813.tA48DPlm091244>