From patchwork Mon Jun 3 20:12:27 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Darrick J. Wong" X-Patchwork-Id: 13684329 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DEB4D131182; Mon, 3 Jun 2024 20:12:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1717445548; cv=none; b=htoip/eVw0gu+mFmmeXPe63Xf8SOdj4cmuL8t5HvcDMLAxoPIb/YdEpuMdoEpuEKpvaUrIOGJfyj74/yJBzH48Q80/X5+5UoxM8XaXyQ/p2L+nYw4F+9tZh+zn7W1PaOdCrxK6lanUCFzn8f82K6jDFhAIoqvLEPTxCz7NgddxM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1717445548; c=relaxed/simple; bh=fUsm2LMfQNj0Sw9zCoa7Eura6b/uc6scSFcOQeaeVUk=; h=Date:Subject:From:To:Cc:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=I1ogRJ7VpS6BryyINV44v0HZsueh7RFoVtNhR9Ub9Yw5C+SgRI/M/o6Wg2N3bJPChj9tkpdBHXIDKhTyrKF1SukKJSooCW2JonTsi5xJRwZxVC5Q8XOtqVRvAlcsFg+N+7Fs94AXCdwDlZjiz7JYOVXmBlG8A0P5KCVOS3B+nb0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=aMLUSyUW; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="aMLUSyUW" Received: by smtp.kernel.org (Postfix) with ESMTPSA id B6D11C2BD10; Mon, 3 Jun 2024 20:12:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1717445547; bh=fUsm2LMfQNj0Sw9zCoa7Eura6b/uc6scSFcOQeaeVUk=; h=Date:Subject:From:To:Cc:In-Reply-To:References:From; b=aMLUSyUWLUy6KET2+PKmf9YwAWeuQpkTIbF+c4+3RfEtVpWSEqUsyKw1Rwu3ON45N SSQSY0jmT6j0cfd/GTAUdHylUa5yjFyqmyueACdpv7s6RMi9Hw+m1SkwKO8dyuRDlx 7MzTtWLDboE9ZQHcTp6+1FGVZcwQaVkHn8kWnjMP7j5X8yUVMcxfKx7d+98/TK1T5M OxeIk/2XPLGmnVxzuqiBbczQO+LReG83iXW13Ue/sLgpmTILwtH22+jHOiSYzfpTzA vsOkNMUILP+dImhAykIC8uXROkXMXwnOZxPfR+7ZRFmiIXIlRyXgcpws0OB8AnDn/Y m50B3YbdGZQjA== Date: Mon, 03 Jun 2024 13:12:27 -0700 Subject: [PATCH 1/3] fuzzy: mask off a few more inode fields from the fuzz tests From: "Darrick J. Wong" To: djwong@kernel.org, zlang@redhat.com Cc: fstests@vger.kernel.org, linux-xfs@vger.kernel.org, guan@eryu.me Message-ID: <171744525438.1532034.2611558250304665559.stgit@frogsfrogsfrogs> In-Reply-To: <171744525419.1532034.11916603461335062550.stgit@frogsfrogsfrogs> References: <171744525419.1532034.11916603461335062550.stgit@frogsfrogsfrogs> User-Agent: StGit/0.19 Precedence: bulk X-Mailing-List: linux-xfs@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 From: Darrick J. Wong XFS doesn't do any validation for filestreams, so don't waste time fuzzing that. Exclude the bigtime flag, since we already have inode timestamps on the no-fuzz list. Exclude the warning counters, since they're defunct now. Signed-off-by: Darrick J. Wong Reviewed-by: Christoph Hellwig --- common/fuzzy | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/common/fuzzy b/common/fuzzy index 218fe16543..c07f461b61 100644 --- a/common/fuzzy +++ b/common/fuzzy @@ -122,7 +122,11 @@ __filter_unvalidated_xfs_db_fields() { -e '/^entries.*secure/d' \ -e '/^a.sfattr.list.*value/d' \ -e '/^a.sfattr.list.*root/d' \ - -e '/^a.sfattr.list.*secure/d' + -e '/^a.sfattr.list.*secure/d' \ + -e '/^core.filestream/d' \ + -e '/^v3.bigtime/d' \ + -e '/\.rtbwarns/d' \ + -e '/\.[ib]warns/d' } # Filter the xfs_db print command's field debug information From patchwork Mon Jun 3 20:12:42 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Darrick J. Wong" X-Patchwork-Id: 13684330 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D5423135A5A; Mon, 3 Jun 2024 20:12:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1717445563; cv=none; b=aIDQylF/iAY5TtG/9+Wl1v/x8kvpl08aLyKOcebw8PPVL0G7xTIpEEKBCezK7UH0KcwKwN+HdvAfZqEz1o7AqDcBZNRth/EPUk8S0prkliBOIPInoFJVq0qbGKmTudLeaEiSNbms+gGNp4/pbAsuokhnd+mIFf8Htm+f9YZ3Ijs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1717445563; c=relaxed/simple; bh=pqjlqNU/7nU+scmAkCmQhfSIjPQ31EkQjBzyEFo1j+U=; h=Date:Subject:From:To:Cc:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=NHgyVL3zlUlGHXc6o5plZYiiF9RN8MsuaI+FXUx3/b4/GMYqLy/JRJ++vLbivGYO3xef7Z7GAJCLnrDAl2S3NcWyjn8Sey0Q0TrL2WJEhH9yjvvgnC2LUf907QEfuvmyrykFq2f4bNWFVXKZzTQBKKLz/QTMO69ZbbnJqFMP2oA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=QUVWptre; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="QUVWptre" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5E168C2BD10; Mon, 3 Jun 2024 20:12:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1717445563; bh=pqjlqNU/7nU+scmAkCmQhfSIjPQ31EkQjBzyEFo1j+U=; h=Date:Subject:From:To:Cc:In-Reply-To:References:From; b=QUVWptreKTVG2XwaUoWnsrKm6b5E580yR+F+4HJA1ZRTqIrEoB9uKy5CjdlyqK5CY Bd6hS4Y5v8LY3N+4nDG09OoZsrnQ+pbPI8KOgOkLFTh83wEKkvBNPQInyJ51psrJ79 p49MRvOiLHhIu/BlMZPypFHTbcRpdxw40+nZcojOnnXhTZDAT2SmXy2kiyAk9MZWwo CaeADqCsx5SnwftUF0CwIzPG2KxXVdCA2mWSuh8z74z0OLlkyXkcLCc6BJceFv0vYb T1yFMyTjSLMNTJF9A6Fy06z2WH8vyqr20H7Qz+quOGPbqvGur16HuElJru3XIK/fHc 7v4uIKRFuhhTQ== Date: Mon, 03 Jun 2024 13:12:42 -0700 Subject: [PATCH 2/3] fuzzy: allow FUZZ_REWRITE_DURATION to control fsstress runtime when fuzzing From: "Darrick J. Wong" To: djwong@kernel.org, zlang@redhat.com Cc: fstests@vger.kernel.org, linux-xfs@vger.kernel.org, guan@eryu.me Message-ID: <171744525454.1532034.7496724268125813931.stgit@frogsfrogsfrogs> In-Reply-To: <171744525419.1532034.11916603461335062550.stgit@frogsfrogsfrogs> References: <171744525419.1532034.11916603461335062550.stgit@frogsfrogsfrogs> User-Agent: StGit/0.19 Precedence: bulk X-Mailing-List: linux-xfs@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 From: Darrick J. Wong For each iteration of the fuzz test loop, we try to correct the problem, and then we run fsstress on the (allegedly corrected) filesystem to check that subsequent use of the filesystem won't crash the kernel or panic. Now that fsstress has a --duration switch, let's add a new config variable that people can set to constrain the amount of time that a fuzz test run takes. Signed-off-by: Darrick J. Wong Reviewed-by: Christoph Hellwig --- check | 12 ++++++++++++ common/fuzzy | 7 +++++-- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/check b/check index 723a52e30d..9222cd7e4f 100755 --- a/check +++ b/check @@ -376,6 +376,18 @@ if [ -n "$SOAK_DURATION" ]; then fi fi +# If the test config specified a fuzz rewrite test duration, see if there are +# any unit suffixes that need converting to an integer seconds count. +if [ -n "$FUZZ_REWRITE_DURATION" ]; then + FUZZ_REWRITE_DURATION="$(echo "$FUZZ_REWRITE_DURATION" | \ + sed -e 's/^\([.0-9]*\)\([a-z]\)*/\1 \2/g' | \ + $AWK_PROG -f $here/src/soak_duration.awk)" + if [ $? -ne 0 ]; then + status=1 + exit 1 + fi +fi + if [ -n "$subdir_xfile" ]; then for d in $SRC_GROUPS $FSTYP; do [ -f $SRC_DIR/$d/$subdir_xfile ] || continue diff --git a/common/fuzzy b/common/fuzzy index c07f461b61..ed79dbc7e5 100644 --- a/common/fuzzy +++ b/common/fuzzy @@ -6,16 +6,19 @@ # Modify various files after a fuzzing operation _scratch_fuzz_modify() { + local fsstress_args=(-n $((TIME_FACTOR * 10000)) -p $((LOAD_FACTOR * 4)) ) + test -n "${FUZZ_REWRITE_DURATION}" && fsstress_args+=("--duration=${FUZZ_REWRITE_DURATION}") + echo "+++ stressing filesystem" mkdir -p $SCRATCH_MNT/data [ "$FSTYP" == "xfs" ] && _xfs_force_bdev data $SCRATCH_MNT/data - $FSSTRESS_PROG -n $((TIME_FACTOR * 10000)) -p $((LOAD_FACTOR * 4)) -d $SCRATCH_MNT/data + $FSSTRESS_PROG "${fsstress_args[@]}" -d $SCRATCH_MNT/data if [ "$FSTYP" = "xfs" ]; then if _xfs_has_feature "$SCRATCH_MNT" realtime; then mkdir -p $SCRATCH_MNT/rt _xfs_force_bdev realtime $SCRATCH_MNT/rt - $FSSTRESS_PROG -n $((TIME_FACTOR * 10000)) -p $((LOAD_FACTOR * 4)) -d $SCRATCH_MNT/rt + $FSSTRESS_PROG "${fsstress_args[@]}" -d $SCRATCH_MNT/rt else echo "+++ xfs realtime not configured" fi From patchwork Mon Jun 3 20:12:58 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Darrick J. Wong" X-Patchwork-Id: 13684331 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4397A135A5A; Mon, 3 Jun 2024 20:12:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1717445579; cv=none; b=PI+IumIEMWEm8h0EkWd3EqUoG1Oi/hUfWf4E2aocTApQM2HcYjskJjoAaud4iVtO4cUBcus8H3CV6eNumZAYZBMXZZ1+K/NMV3btPX2j7vQ5+WftoB2xgXuICt5V070al5fW3/cRdfDTYU4vpnzEJ2UBSxlQ+z0AzMWVX1Xprrc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1717445579; c=relaxed/simple; bh=ZVimQVAloOqafW58RB0wIcmRVU9xwk2tnDHvv8k+Ufc=; h=Date:Subject:From:To:Cc:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=cIMYXMns1wy5wfi3sm7D1IK7Luk2mKRzPDdQKEAtXVdeN+Hkuok7zlNtLvCx4r1v3py7j/btWrm3i5mTnBNVB7VXmHohjM7IKJlO0bpN2TsLheIZs1aZ8WxWRNbcwA0Tq2VNJSAjfV1/bZJFpiMtRX00HMUq9PxPv/0XW1ZHetQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=E4JR5csA; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="E4JR5csA" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1A85BC2BD10; Mon, 3 Jun 2024 20:12:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1717445579; bh=ZVimQVAloOqafW58RB0wIcmRVU9xwk2tnDHvv8k+Ufc=; h=Date:Subject:From:To:Cc:In-Reply-To:References:From; b=E4JR5csAi/qq8mIfcmT8o6qP5sjQ04eDXUfhAzvPf6IzvIORqc9VZkF+INJd2rdtM hQ/uRRnLLizy1n44hlbS71P9PVpSHnLnokuQ6rEV2wD9wuuKTEydWMSSjbwterzSIa GkRqdHDGJbALFQ1l/DQ/6V8Dhsz3f3uvEwYcE4b3QsriVg1nd94p8UY4HPW9a0Pk+Z N5R64isIZYZNZfnCCqPgKYLgRfJxYTSuXCRTEq8Pm91Em59I6+IRQgSjy6W6rLPcD/ ni2Rof6FIKxv2kCqj3pgEvaVcl7Rg3XZb1zeO+b5caQsWdLXfeXs8QL+gdCz6DEH3D 6vPdfIH0e8bkw== Date: Mon, 03 Jun 2024 13:12:58 -0700 Subject: [PATCH 3/3] fuzzy: test other dquot ids From: "Darrick J. Wong" To: djwong@kernel.org, zlang@redhat.com Cc: fstests@vger.kernel.org, linux-xfs@vger.kernel.org, guan@eryu.me Message-ID: <171744525469.1532034.305765196235167428.stgit@frogsfrogsfrogs> In-Reply-To: <171744525419.1532034.11916603461335062550.stgit@frogsfrogsfrogs> References: <171744525419.1532034.11916603461335062550.stgit@frogsfrogsfrogs> User-Agent: StGit/0.19 Precedence: bulk X-Mailing-List: linux-xfs@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 From: Darrick J. Wong Signed-off-by: Darrick J. Wong Reviewed-by: Christoph Hellwig --- common/fuzzy | 14 ++++++++++++++ common/populate | 14 ++++++++++++++ tests/xfs/425 | 10 +++++++--- tests/xfs/426 | 10 +++++++--- tests/xfs/427 | 10 +++++++--- tests/xfs/428 | 10 +++++++--- tests/xfs/429 | 10 +++++++--- tests/xfs/430 | 10 +++++++--- tests/xfs/487 | 10 +++++++--- tests/xfs/488 | 10 +++++++--- tests/xfs/489 | 10 +++++++--- tests/xfs/779 | 10 +++++++--- tests/xfs/780 | 10 +++++++--- tests/xfs/781 | 10 +++++++--- 14 files changed, 112 insertions(+), 36 deletions(-) diff --git a/common/fuzzy b/common/fuzzy index ed79dbc7e5..5621b98b7f 100644 --- a/common/fuzzy +++ b/common/fuzzy @@ -680,6 +680,20 @@ _scratch_xfs_set_xattr_fuzz_types() { SCRATCH_XFS_XATTR_FUZZ_TYPES=(EXTENTS_REMOTE3K EXTENTS_REMOTE4K LEAF NODE) } +# Sets the array SCRATCH_XFS_QUOTA_FUZZ_IDS to the list of dquot ids available +# for fuzzing. By default, this list contains 0 (root), 4242 (non-root), and +# 8484 (zero counts). Users can override this by setting +# SCRATCH_XFS_LIST_FUZZ_QUOTAIDS in the environment. +_scratch_xfs_set_quota_fuzz_ids() { + if [ -n "${SCRATCH_XFS_LIST_FUZZ_QUOTAIDS}" ]; then + mapfile -t SCRATCH_XFS_QUOTA_FUZZ_IDS < \ + <(echo "${SCRATCH_XFS_LIST_FUZZ_QUOTAIDS}" | tr '[ ,]' '[\n\n]') + return + fi + + SCRATCH_XFS_QUOTA_FUZZ_IDS=(0 4242 8484) +} + # Grab the list of available fuzzing verbs _scratch_xfs_list_fuzz_verbs() { if [ -n "${SCRATCH_XFS_LIST_FUZZ_VERBS}" ]; then diff --git a/common/populate b/common/populate index 33f2db8d4a..15f8055c2c 100644 --- a/common/populate +++ b/common/populate @@ -360,6 +360,20 @@ _scratch_xfs_populate() { mknod "${SCRATCH_MNT}/S_IFBLK" b 1 1 mknod "${SCRATCH_MNT}/S_IFIFO" p + # non-root dquot + local nonroot_id=4242 + echo "${nonroot_id}" > "${SCRATCH_MNT}/non_root_dquot" + chown "${nonroot_id}:${nonroot_id}" "${SCRATCH_MNT}/non_root_dquot" + $XFS_IO_PROG -c "chproj ${nonroot_id}" "${SCRATCH_MNT}/non_root_dquot" + + # empty dquot + local empty_id=8484 + echo "${empty_id}" > "${SCRATCH_MNT}/empty_dquot" + chown "${empty_id}:${empty_id}" "${SCRATCH_MNT}/empty_dquot" + $XFS_IO_PROG -c "chproj ${empty_id}" "${SCRATCH_MNT}/empty_dquot" + chown "0:0" "${SCRATCH_MNT}/empty_dquot" + $XFS_IO_PROG -c "chproj 0" "${SCRATCH_MNT}/empty_dquot" + # special file with an xattr setfacl -P -m u:nobody:r ${SCRATCH_MNT}/S_IFCHR diff --git a/tests/xfs/425 b/tests/xfs/425 index c2e16ee87e..5275e594b2 100755 --- a/tests/xfs/425 +++ b/tests/xfs/425 @@ -27,9 +27,13 @@ echo "Format and populate" _scratch_populate_cached nofill > $seqres.full 2>&1 echo "${MOUNT_OPTIONS}" | grep -q 'usrquota' || _notrun "user quota disabled" -echo "Fuzz user 0 dquot" -_scratch_xfs_fuzz_metadata '' 'offline' "dquot -u 0" >> $seqres.full -echo "Done fuzzing dquot" +_scratch_xfs_set_quota_fuzz_ids + +for id in "${SCRATCH_XFS_QUOTA_FUZZ_IDS[@]}"; do + echo "Fuzz user $id dquot" + _scratch_xfs_fuzz_metadata '' 'offline' "dquot -u $id" >> $seqres.full + echo "Done fuzzing dquot" +done # success, all done status=0 diff --git a/tests/xfs/426 b/tests/xfs/426 index e52b15f28d..06f0f44b62 100755 --- a/tests/xfs/426 +++ b/tests/xfs/426 @@ -27,9 +27,13 @@ echo "Format and populate" _scratch_populate_cached nofill > $seqres.full 2>&1 echo "${MOUNT_OPTIONS}" | grep -q 'usrquota' || _notrun "user quota disabled" -echo "Fuzz user 0 dquot" -_scratch_xfs_fuzz_metadata '' 'online' "dquot -u 0" >> $seqres.full -echo "Done fuzzing dquot" +_scratch_xfs_set_quota_fuzz_ids + +for id in "${SCRATCH_XFS_QUOTA_FUZZ_IDS[@]}"; do + echo "Fuzz user $id dquot" + _scratch_xfs_fuzz_metadata '' 'online' "dquot -u $id" >> $seqres.full + echo "Done fuzzing dquot" +done # success, all done status=0 diff --git a/tests/xfs/427 b/tests/xfs/427 index 19f45fbd81..327cddd879 100755 --- a/tests/xfs/427 +++ b/tests/xfs/427 @@ -27,9 +27,13 @@ echo "Format and populate" _scratch_populate_cached nofill > $seqres.full 2>&1 echo "${MOUNT_OPTIONS}" | grep -q 'grpquota' || _notrun "group quota disabled" -echo "Fuzz group 0 dquot" -_scratch_xfs_fuzz_metadata '' 'offline' "dquot -g 0" >> $seqres.full -echo "Done fuzzing dquot" +_scratch_xfs_set_quota_fuzz_ids + +for id in "${SCRATCH_XFS_QUOTA_FUZZ_IDS[@]}"; do + echo "Fuzz group $id dquot" + _scratch_xfs_fuzz_metadata '' 'offline' "dquot -g $id" >> $seqres.full + echo "Done fuzzing dquot" +done # success, all done status=0 diff --git a/tests/xfs/428 b/tests/xfs/428 index 338e659df2..80b05b8450 100755 --- a/tests/xfs/428 +++ b/tests/xfs/428 @@ -27,9 +27,13 @@ echo "Format and populate" _scratch_populate_cached nofill > $seqres.full 2>&1 echo "${MOUNT_OPTIONS}" | grep -q 'grpquota' || _notrun "group quota disabled" -echo "Fuzz group 0 dquot" -_scratch_xfs_fuzz_metadata '' 'online' "dquot -g 0" >> $seqres.full -echo "Done fuzzing dquot" +_scratch_xfs_set_quota_fuzz_ids + +for id in "${SCRATCH_XFS_QUOTA_FUZZ_IDS[@]}"; do + echo "Fuzz group $id dquot" + _scratch_xfs_fuzz_metadata '' 'online' "dquot -g $id" >> $seqres.full + echo "Done fuzzing dquot" +done # success, all done status=0 diff --git a/tests/xfs/429 b/tests/xfs/429 index a4aeb6e440..5fa3b2ce29 100755 --- a/tests/xfs/429 +++ b/tests/xfs/429 @@ -27,9 +27,13 @@ echo "Format and populate" _scratch_populate_cached nofill > $seqres.full 2>&1 echo "${MOUNT_OPTIONS}" | grep -q 'prjquota' || _notrun "project quota disabled" -echo "Fuzz project 0 dquot" -_scratch_xfs_fuzz_metadata '' 'offline' "dquot -p 0" >> $seqres.full -echo "Done fuzzing dquot" +_scratch_xfs_set_quota_fuzz_ids + +for id in "${SCRATCH_XFS_QUOTA_FUZZ_IDS[@]}"; do + echo "Fuzz project $id dquot" + _scratch_xfs_fuzz_metadata '' 'offline' "dquot -p $id" >> $seqres.full + echo "Done fuzzing dquot" +done # success, all done status=0 diff --git a/tests/xfs/430 b/tests/xfs/430 index d94f65bd14..6f5c772dfb 100755 --- a/tests/xfs/430 +++ b/tests/xfs/430 @@ -27,9 +27,13 @@ echo "Format and populate" _scratch_populate_cached nofill > $seqres.full 2>&1 echo "${MOUNT_OPTIONS}" | grep -q 'prjquota' || _notrun "project quota disabled" -echo "Fuzz project 0 dquot" -_scratch_xfs_fuzz_metadata '' 'online' "dquot -p 0" >> $seqres.full -echo "Done fuzzing dquot" +_scratch_xfs_set_quota_fuzz_ids + +for id in "${SCRATCH_XFS_QUOTA_FUZZ_IDS[@]}"; do + echo "Fuzz project $id dquot" + _scratch_xfs_fuzz_metadata '' 'online' "dquot -p $id" >> $seqres.full + echo "Done fuzzing dquot" +done # success, all done status=0 diff --git a/tests/xfs/487 b/tests/xfs/487 index 337541bbcd..a688593950 100755 --- a/tests/xfs/487 +++ b/tests/xfs/487 @@ -28,9 +28,13 @@ echo "Format and populate" _scratch_populate_cached nofill > $seqres.full 2>&1 echo "${MOUNT_OPTIONS}" | grep -q 'usrquota' || _notrun "user quota disabled" -echo "Fuzz user 0 dquot" -_scratch_xfs_fuzz_metadata '' 'none' "dquot -u 0" >> $seqres.full -echo "Done fuzzing dquot" +_scratch_xfs_set_quota_fuzz_ids + +for id in "${SCRATCH_XFS_QUOTA_FUZZ_IDS[@]}"; do + echo "Fuzz user $id dquot" + _scratch_xfs_fuzz_metadata '' 'none' "dquot -u $id" >> $seqres.full + echo "Done fuzzing dquot" +done # success, all done status=0 diff --git a/tests/xfs/488 b/tests/xfs/488 index 4347768964..0d54ab8c7d 100755 --- a/tests/xfs/488 +++ b/tests/xfs/488 @@ -28,9 +28,13 @@ echo "Format and populate" _scratch_populate_cached nofill > $seqres.full 2>&1 echo "${MOUNT_OPTIONS}" | grep -q 'grpquota' || _notrun "group quota disabled" -echo "Fuzz group 0 dquot" -_scratch_xfs_fuzz_metadata '' 'none' "dquot -g 0" >> $seqres.full -echo "Done fuzzing dquot" +_scratch_xfs_set_quota_fuzz_ids + +for id in "${SCRATCH_XFS_QUOTA_FUZZ_IDS[@]}"; do + echo "Fuzz group $id dquot" + _scratch_xfs_fuzz_metadata '' 'none' "dquot -g $id" >> $seqres.full + echo "Done fuzzing dquot" +done # success, all done status=0 diff --git a/tests/xfs/489 b/tests/xfs/489 index c70e674ccc..012416f989 100755 --- a/tests/xfs/489 +++ b/tests/xfs/489 @@ -28,9 +28,13 @@ echo "Format and populate" _scratch_populate_cached nofill > $seqres.full 2>&1 echo "${MOUNT_OPTIONS}" | grep -q 'prjquota' || _notrun "project quota disabled" -echo "Fuzz project 0 dquot" -_scratch_xfs_fuzz_metadata '' 'none' "dquot -p 0" >> $seqres.full -echo "Done fuzzing dquot" +_scratch_xfs_set_quota_fuzz_ids + +for id in "${SCRATCH_XFS_QUOTA_FUZZ_IDS[@]}"; do + echo "Fuzz project $id dquot" + _scratch_xfs_fuzz_metadata '' 'none' "dquot -p $id" >> $seqres.full + echo "Done fuzzing dquot" +done # success, all done status=0 diff --git a/tests/xfs/779 b/tests/xfs/779 index fe0de3087a..05f2718632 100755 --- a/tests/xfs/779 +++ b/tests/xfs/779 @@ -29,9 +29,13 @@ echo "Format and populate" _scratch_populate_cached nofill > $seqres.full 2>&1 echo "${MOUNT_OPTIONS}" | grep -q 'usrquota' || _notrun "user quota disabled" -echo "Fuzz user 0 dquot" -_scratch_xfs_fuzz_metadata '' 'both' "dquot -u 0" >> $seqres.full -echo "Done fuzzing dquot" +_scratch_xfs_set_quota_fuzz_ids + +for id in "${SCRATCH_XFS_QUOTA_FUZZ_IDS[@]}"; do + echo "Fuzz user $id dquot" + _scratch_xfs_fuzz_metadata '' 'both' "dquot -u $id" >> $seqres.full + echo "Done fuzzing dquot" +done # success, all done status=0 diff --git a/tests/xfs/780 b/tests/xfs/780 index 0a23473538..9dd8f4527e 100755 --- a/tests/xfs/780 +++ b/tests/xfs/780 @@ -29,9 +29,13 @@ echo "Format and populate" _scratch_populate_cached nofill > $seqres.full 2>&1 echo "${MOUNT_OPTIONS}" | grep -q 'grpquota' || _notrun "group quota disabled" -echo "Fuzz group 0 dquot" -_scratch_xfs_fuzz_metadata '' 'both' "dquot -g 0" >> $seqres.full -echo "Done fuzzing dquot" +_scratch_xfs_set_quota_fuzz_ids + +for id in "${SCRATCH_XFS_QUOTA_FUZZ_IDS[@]}"; do + echo "Fuzz group $id dquot" + _scratch_xfs_fuzz_metadata '' 'both' "dquot -g $id" >> $seqres.full + echo "Done fuzzing dquot" +done # success, all done status=0 diff --git a/tests/xfs/781 b/tests/xfs/781 index ada0f8a1ca..604c9bdd87 100755 --- a/tests/xfs/781 +++ b/tests/xfs/781 @@ -29,9 +29,13 @@ echo "Format and populate" _scratch_populate_cached nofill > $seqres.full 2>&1 echo "${MOUNT_OPTIONS}" | grep -q 'prjquota' || _notrun "project quota disabled" -echo "Fuzz project 0 dquot" -_scratch_xfs_fuzz_metadata '' 'both' "dquot -p 0" >> $seqres.full -echo "Done fuzzing dquot" +_scratch_xfs_set_quota_fuzz_ids + +for id in "${SCRATCH_XFS_QUOTA_FUZZ_IDS[@]}"; do + echo "Fuzz project $id dquot" + _scratch_xfs_fuzz_metadata '' 'both' "dquot -p $id" >> $seqres.full + echo "Done fuzzing dquot" +done # success, all done status=0