From nobody Fri Jan 28 11:24:20 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 4A121196ECBF; Fri, 28 Jan 2022 11:24:21 +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 4JlZq91MKSz4mc4; Fri, 28 Jan 2022 11:24:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1643369061; 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=f/8jZZVkl12n3/BVhZO99wAeDcB8oXrHdHlHKmCnCTI=; b=swLtl50NscU0gzxxwzyWcvh+VixgF5V8HxgEWk2VUR21hCfQJbVgJ+JeVRiUb/CCCa0aJL WvAvTM1o9EzkZvdWlY63H9/qPITU3h6BlT2I+DzMN9UzwXdcF89yESl43Wt5dv7d3kp2HJ 9DUzPs5d4F2cfh3Z4aDb0Z1xpWiimN6jgUxYHoynC+k58Tub0X28OA2nYuHvF5uChG81+Z nn2qA9lSPtAXFPMefhX9JPHk7WlFJbCNM/mhDo1jy+oZMmSHHbHLHJ/9PwPvzORWOMd1P7 9bhNzbnOJzJyP7K0TZpcRO3qAwdu/DSk9Fm+902ZM13iETJsH0p8XmLUtQRAGA== 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 0CC06293EE; Fri, 28 Jan 2022 11:24:21 +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 20SBOKCt025860; Fri, 28 Jan 2022 11:24:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 20SBOKpT025859; Fri, 28 Jan 2022 11:24:20 GMT (envelope-from git) Date: Fri, 28 Jan 2022 11:24:20 GMT Message-Id: <202201281124.20SBOKpT025859@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: 612d42e5dc76 - main - stress2: Added a regresson test 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: 612d42e5dc7608d7cdaa12c95b70fe9aff809b0a Auto-Submitted: auto-generated ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1643369061; 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=f/8jZZVkl12n3/BVhZO99wAeDcB8oXrHdHlHKmCnCTI=; b=p3Jw1HGAwU+koLbOlUmC7q3fgkFTN8YwRAnUiP+u1kOg2APs5SgD8vtBC70SK6mTm9DAAg 5fBzpY8ZGPRFylLZwz7/MV0l3UWLefbIl2pMdlFgg2mUbQbDdyrjLYUg6Hq6UHiKF3zDT2 QgV5sH4nhS5c9s6vudYRfPBhTTonu4KemZMMDrleMqsjDoxBp0Zbn66PJU7UVii9ZhHEwL TdDDjx/XEc8mjpknzzfB35MlnAZoBuflVApY8FmbLWRcK3/dT1z5m5IwhJi9aoc/ENfkHS /ZmTutM1+xYwPwPFVY9lHxkgrepJaIwhMMrW5TZ4hbc2873uIIGI6j/FPHlBmQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1643369061; a=rsa-sha256; cv=none; b=j5ivWcmcyWVLtmqY0s1V1gkInGmb1gWUEXRZ0Fx+sOwremk7EuPJ5sZDYSv9piXcaoM5pd rzJE6fSIMNVRG4mO6zg0nHcfqaKbKRqUUQknvuZWXygZM6GYpx54DBRcS4TkzJ+NUmZx8v brAAy7F0sFQ/BJMV37U/DV9F3auCCVVw17uNYdbqNZ55oC9z/hS+hl4NYz05hsxQH9b1vD msdvaGQ9JB/V5NEgv9G586FXITOry5hokYKDW5UnzPHrOJa1hZiP1pvKYGm0F33h0Ob7Q+ BKK9j0gQKtjW5EYRCjFuZF6H+eLQ5CSdlNImKPvpjtpLE0uPcmAHEOcMyYvMqw== 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=612d42e5dc7608d7cdaa12c95b70fe9aff809b0a commit 612d42e5dc7608d7cdaa12c95b70fe9aff809b0a Author: Peter Holm AuthorDate: 2022-01-28 11:23:22 +0000 Commit: Peter Holm CommitDate: 2022-01-28 11:23:22 +0000 stress2: Added a regresson test Submitted by: Andriy Gapon --- tools/test/stress2/misc/graid1_11.sh | 103 +++++++++++++++++++++++++++++++++++ 1 file changed, 103 insertions(+) diff --git a/tools/test/stress2/misc/graid1_11.sh b/tools/test/stress2/misc/graid1_11.sh new file mode 100755 index 000000000000..a338b15306f4 --- /dev/null +++ b/tools/test/stress2/misc/graid1_11.sh @@ -0,0 +1,103 @@ +#!/bin/sh + +# g_mirror: don't fail reads while losing next-to-last disk + +# Fixed by https://cgit.FreeBSD.org/src/commit/?id=5d5f44623eb3d121d528060d131ee5d6bcd63489 +# Test scenario by: Andriy Gapon + +set -u + +cleanup() +{ + echo "cleanup" 2>&1 + gnop destroy -f ${dev1}.nop + gnop destroy -f ${dev2}.nop + gmirror destroy testmirror + mdconfig -d -u ${dev2#md} + mdconfig -d -u ${dev1#md} +} + +list_descendants() +{ + local children + + children=$(pgrep -P "$1") + for pid in $children ; do + list_descendants "$pid" + done + echo "$children" +} + +# Note that the size of gnop providers is smaller than the +# size of backing md-s to avoid gmirror auto-tasting. +for i in 1 2; do + eval dev$i=$(mdconfig -a -t swap -s 1024m) + eval gnop create -d 8 -s 1000m \${dev$i} +done + +trap cleanup EXIT INT TERM QUIT + +gmirror load 2>/dev/null || true +gmirror label -b round-robin -F testmirror ${dev1}.nop ${dev2}.nop + +( + #my_pid=$(exec sh -c 'echo "$PPID"') + + sleep 100000 & + sentry=$! + + children="" + for i in $(seq 8) ; do + ( + while dd if=/dev/mirror/testmirror of=/dev/null > /dev/null ; ds=$? ; [ $ds -eq 0 ] ; do + : + done + if [ $ds -lt 128 ] ; then + # Not killed + echo "dd exited with $ds" 1>&2 + kill $sentry 2>/dev/null + fi + ) & + + children="${children:+${children},}$!" + + sleep 0.1 + done + + wait $sentry + pkill -P ${children} -x dd + + # Reap background children + wait +) & +runner=$! + +# Give dd-s some time to get running +sleep 2 + +# Destroy one of the members +echo "destroying one member" 1>&2 +gnop destroy -f ${dev1}.nop + +count=0 +while kill -0 $runner 2>/dev/null && [ $count -lt 5 ] ; do + sleep 1 + count=$((count + 1)) +done + +if ! kill -0 $runner 2>/dev/null ; then + echo "the test has self-terminated" 1>&2 + ret=1 +else + echo "the test is stuck, killing..." 1>&2 + ret=0 + kill $(list_descendants $runner) 2>/dev/null +fi + +# Reap background processes +wait + +# Just in case +sleep 5 + +exit $ret