From nobody Sat Jan 15 09:22:52 2022 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id AC1B819468B2; Sat, 15 Jan 2022 09:22:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4JbXl04J0qz50v7; Sat, 15 Jan 2022 09:22:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1642238572; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=38RxnXXtOnrLPLHNQgJtSNruVyDvgrEgk254Qn0q0B4=; b=Gyq51ge7N66r5R8Y9GmHu9R20MSBhW7lgpsym2TL24xMBas0V/g63gwZSsOZzWls6JA1WA guj0PZBgkKJIECyqm8IbR8Yva4jcYQIV/XGJQhUMzgGDP8EW9fxWffU1WBd9wY6vn+z6+9 qZwTXlNSY+ueI6afSbxM/K+0UE5qp72/CqLKfQ/y0ZSNK8okAoAQ9oCSFBCUEocRQSvzcM Eux/ZxaiMcfLSFT4/Xe9bvWjd5Lw5Y/S/L8/eOqRUJRetS0p6Vck/Z4ngMQeWBh02Pjq0x cVx9gVhN8RUMnl5AzmTtbvRY9ZZ0klclQqb+hUOaeJgPJyDdUYlYMYGlds22hQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 7379824BC1; Sat, 15 Jan 2022 09:22:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 20F9MqU7014509; Sat, 15 Jan 2022 09:22:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 20F9MqIV014508; Sat, 15 Jan 2022 09:22:52 GMT (envelope-from git) Date: Sat, 15 Jan 2022 09:22:52 GMT Message-Id: <202201150922.20F9MqIV014508@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Peter Holm Subject: git: 3266a0c5d5ab - main - stress2: Added a new unionfs test scenario List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: pho X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3266a0c5d5abe8dd14de8478edec3e878e4a1c0b Auto-Submitted: auto-generated ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1642238572; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=38RxnXXtOnrLPLHNQgJtSNruVyDvgrEgk254Qn0q0B4=; b=YAYdcG1JmPX59aBTwfdalJU84CQ4wYjJMeT17o0LYBj9pzh9OaihQZRqiuH04DWb6IGrYS KSQpK2L/q2+DCMsT0yI7kSEr3/GMIIGxeEAhjLbeWwcc3+AhCM8s2758Up42Nq+aSWg+CD jk/XL/7+DxArHL6XUaKMPxJ37ShFamRvJasyL/GKYOcpOm7FBDXzfOXXeH2oz8RI8yzM81 5swEaNVYeCbLNjFoOgDD14ytR2X7nLz2Y/+XfH5eo4kxRhMWtkjCaTwzi1w+JR4X9jxAqR GfEc5TrUCiBJbqVfJfBXIFwIxPgyddV0qDtkbK+vANqyzNlpyhL0PpNgpzW1Ug== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1642238572; a=rsa-sha256; cv=none; b=fN5F/CuHXRUnAJmaA2tmL11PBKDkNC9PlpxTMPCbmyd6sk4j2AzIciRbHkSpBTVoRn8qBu pHEhpRy1lE2l5X88MKz2mDlV3cd5h3+mfJxGssinZodHdpAobBU2RYf7+A+c95gqghcskE ySXv/mztx9USlnLxETYKyhKC0h7KtICUhTCnUZaxZV9B89oM6IH9rTzVeFGZ6EZ3yeoP/h E6BOWlA7ZfSRY2nsjnYv4LcxM7mdp9esbJsBIp7sMLqaUqoyJM0btqZ4kUXgyaqLtncWlJ R0uVE4J3CZ1FMPEs+RsE9ulHmTCWIdlxpo4arUAxLeatT0QHrDN3jXZMD6pzHA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by pho: URL: https://cgit.FreeBSD.org/src/commit/?id=3266a0c5d5abe8dd14de8478edec3e878e4a1c0b commit 3266a0c5d5abe8dd14de8478edec3e878e4a1c0b Author: Peter Holm AuthorDate: 2022-01-15 09:21:29 +0000 Commit: Peter Holm CommitDate: 2022-01-15 09:21:29 +0000 stress2: Added a new unionfs test scenario --- tools/test/stress2/misc/unionfs8.sh | 114 ++++++++++++++++++++++++++++++++++++ 1 file changed, 114 insertions(+) diff --git a/tools/test/stress2/misc/unionfs8.sh b/tools/test/stress2/misc/unionfs8.sh new file mode 100755 index 000000000000..07e31dd18c50 --- /dev/null +++ b/tools/test/stress2/misc/unionfs8.sh @@ -0,0 +1,114 @@ +#!/bin/sh + +# +# SPDX-License-Identifier: BSD-2-Clause-FreeBSD +# +# Copyright (c) 2021 Peter Holm +# +# 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. +# + +# unionfs(8) test with a cd9660 file system + +# "panic: unionfs_noderem: vnode 0xfffffe014f9259c8 locked recursively" seen +# https://people.freebsd.org/~pho/stress/log/log0233.txt + +[ `id -u ` -ne 0 ] && echo "Must be root!" && exit 1 +[ -z "`type mkisofs 2>/dev/null`" ] && + { echo "cdrtools not installed"; exit 0; } +. ../default.cfg + +I=`dirname $diskimage`/unionfs8.iso +md1=$mdstart +md2=$((md1 + 1)) +mp1=/mnt$md1 +mp2=/mnt$md2 +mkdir -p $mp1 $mp2 +set -e +for i in $mp1 $mp2; do + mount | grep -q "on $i " && umount -f $i +done +for i in $md1 $md2; do + mdconfig -l | grep -q md$i && mdconfig -d -u $i +done + +mdconfig -a -t swap -s 4g -u $md1 +mdconfig -a -t swap -s 4g -u $md2 +newfs $newfs_flags -n md$md1 > /dev/null +newfs $newfs_flags -n md$md2 > /dev/null +mount /dev/md$md1 $mp1 +cp -r ../../stress2 $mp1 +mkisofs -o $I -r $mp1 > /dev/null 2>&1 +umount $mp1 +mdconfig -d -u $md1 +mdconfig -a -t vnode -f $I -u $md1 +mount -t cd9660 /dev/md$mdstart $mp1 +ls -l $mp1 +mount /dev/md$md2 $mp2 +chmod 777 $mp2 + +mount -t unionfs -o below $mp1 $mp2 +set +e +mount | grep -E "$mp1|$mp2" +ls -ld $mp1 $mp2 +ls -l $mp1 $mp2 + +export CTRLDIR=$mp2/stressX.control +export INCARNATIONS=10 +export LOAD=80 +export RUNDIR=$mp2/stressX +export runRUNTIME=5m +export rwLOAD=80 +export symlinkLOAD=80 + +export TESTPROGS=" +testcases/lockf2/lockf2 +testcases/symlink/symlink +testcases/openat/openat +testcases/rw/rw +testcases/fts/fts +testcases/link/link +testcases/lockf/lockf +testcases/creat/creat +testcases/mkdir/mkdir +testcases/rename/rename +testcases/mkfifo/mkfifo +testcases/dirnprename/dirnprename +testcases/dirrename/dirrename +testcases/swap/swap +" + +export TESTPROGS=`echo $TESTPROGS | sed 's/\n/ /g'` + +set +e +###su $testuser -c \ +### "(cd $mp2/stress2; ./testcases/run/run $TESTPROGS)" + +umount $mp2 # The unionfs mount +umount $mp2 +n=`find $mp1/stressX | wc -l` +[ $n -eq 1 ] && s=0 || { find $mp1/stressX -ls | head -12; s=1; } +umount $mp1 +mdconfig -d -u $md2 +mdconfig -d -u $md1 +rm -f $I +exit $s