From patchwork Wed Dec 27 13:42:50 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Darrick J. Wong" X-Patchwork-Id: 13508427 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 AB1336ABF; Mon, 1 Jan 2024 00:42:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="splVlQne" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7E718C433C7; Mon, 1 Jan 2024 00:42:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1704069771; bh=cigiQpYKPEGIkOtVAYOeeC4ImoLJyqLbkzqyETM2ry0=; h=Date:Subject:From:To:Cc:In-Reply-To:References:From; b=splVlQneaeiTbFfdubhX3UC8qBNjk2Ag5w7B0nOcU/dfrf37AFSglxuqSiZqTsXOb a2RUk/R6drg5wCvqjByllQsMID1SxMaChMcBKAkUZeouU/5wLuAlTonhZLrvHVvo+c mWySJjHBJ9ckj3vB3hdv0f2fJ0gwCbBHw0tZSO2z/IMIzWhhYctdlXSX6Cy1L3EW4g 0CyWRaJqljCwVdfOVJS16dNKCJL8/4a55xM4yeDetnbxXw8xn4Q21MtyCiCph06byF 3GieEcAdAPGAVckOiLBk0yvzgSQoycOJB+l80jfEXMcTzu6zjd4v5wLY/sWG6+QOI/ 7jqBt3kBchEmQ== Date: Sun, 31 Dec 2023 16:42:50 +9900 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: <170405025614.1821776.11739533344730730248.stgit@frogsfrogsfrogs> In-Reply-To: <170405025600.1821776.14517378233107318876.stgit@frogsfrogsfrogs> References: <170405025600.1821776.14517378233107318876.stgit@frogsfrogsfrogs> User-Agent: StGit/0.19 Precedence: bulk X-Mailing-List: fstests@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 --- common/fuzzy | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/common/fuzzy b/common/fuzzy index f5d45cb28f..35cf581cd3 100644 --- a/common/fuzzy +++ b/common/fuzzy @@ -120,7 +120,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 Wed Dec 27 13:43:06 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Darrick J. Wong" X-Patchwork-Id: 13508428 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 5BF0A8BEA; Mon, 1 Jan 2024 00:43:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="JOGYau8e" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2840FC433C8; Mon, 1 Jan 2024 00:43:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1704069787; bh=rHPXov+qTbWS5pe23Vm2Q3xG5ecWJPBAuI5/hUi32Lw=; h=Date:Subject:From:To:Cc:In-Reply-To:References:From; b=JOGYau8enQUZbVBi7NoOyiMWkRS4YYk5ZqPGONlxfjeb/mGa+tiqLpDOyKoWX0WNK zvHwrRU5P0Xn1DwFYeu0cK1BNeKhKAP6bxO2KleDFIf3Mph1cVEtGNKXltIz3pmHyP /7GAnlNjqBIkmUpYgXj/kCDP1nQZf3yC7sBMEzJNCtOyHAywLYx9GoWcuvkUCJNy3W PBCobjWsmK8XjRQ3YlbRbtjnBnaoQLGoLGl6i+6TjIePeKtLHMAJnev0yH1UGQEuwo iDi6vgPTN0XHj+5/L7SexYRaHXnJZXCWxUwHpaYYbNaIB7RAWt1db11sNCVukQ+M/n qPUXkwI3BoVsQ== Date: Sun, 31 Dec 2023 16:43:06 +9900 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: <170405025627.1821776.10663317801956236526.stgit@frogsfrogsfrogs> In-Reply-To: <170405025600.1821776.14517378233107318876.stgit@frogsfrogsfrogs> References: <170405025600.1821776.14517378233107318876.stgit@frogsfrogsfrogs> User-Agent: StGit/0.19 Precedence: bulk X-Mailing-List: fstests@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 --- check | 12 ++++++++++++ common/fuzzy | 7 +++++-- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/check b/check index 71b9fbd075..e567c5e4bb 100755 --- a/check +++ b/check @@ -382,6 +382,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 35cf581cd3..bbf7f83d9e 100644 --- a/common/fuzzy +++ b/common/fuzzy @@ -6,15 +6,18 @@ # 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 _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 _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 Wed Dec 27 13:43:22 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Darrick J. Wong" X-Patchwork-Id: 13508429 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 414998F5B; Mon, 1 Jan 2024 00:43:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="V7s2A1Fr" Received: by smtp.kernel.org (Postfix) with ESMTPSA id C28F7C433C7; Mon, 1 Jan 2024 00:43:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1704069802; bh=O2HlMEr4j4zMWn2d/2gxKGEqM4DbFyga+89yC9qa2h4=; h=Date:Subject:From:To:Cc:In-Reply-To:References:From; b=V7s2A1FrRcgIuV7LdvclwjPVWQzM3ZLdMpRG0ApjxYre7Bv84GmTJP2rN5qhuqOnz ZI6k2I6YxuvmjHU2LdrJbG5+68JAAZICMH+jXo3BWbt6eaB8gZS5K2pDuE2Akf0AeK NtEPbNaKdD/9+dkUEaMmAUCUwFAno9ozxeotTCCOKpQ4j5Qn3EhApvXRdC9h04sZii 4P5LQW0qomSc6/yEXri/GYqq/XQNdyMldKUOnR0fhry2ErNpxeLE1WqYgmUiOw9/aH ywOiJQK2Wyk8+tkneRdg/wy+vHUXJwdmcv/QpjK+p5spV9bZOWoMS1xV7P7hfD1WqZ MGx36HU6AA+IQ== Date: Sun, 31 Dec 2023 16:43:22 +9900 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: <170405025640.1821776.3192555943023683779.stgit@frogsfrogsfrogs> In-Reply-To: <170405025600.1821776.14517378233107318876.stgit@frogsfrogsfrogs> References: <170405025600.1821776.14517378233107318876.stgit@frogsfrogsfrogs> User-Agent: StGit/0.19 Precedence: bulk X-Mailing-List: fstests@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 From: Darrick J. Wong Signed-off-by: Darrick J. Wong --- 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 bbf7f83d9e..b72b4a9fe7 100644 --- a/common/fuzzy +++ b/common/fuzzy @@ -678,6 +678,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 3d233073c9..8097151919 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