On 28/09/2023 07:14, Boris Burkov wrote:
Many btrfs tests explicitly trigger quota rescan. This is not a
meaningful operation for simple quotas, so we wrap it in a helper that
doesn't blow up quite so badly and lets us run those tests where the
rescan is a qgroup detail.
Signed-off-by: Boris Burkov <boris@xxxxxx>
---
common/btrfs | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/common/btrfs b/common/btrfs
index 37796cc6e..0053fec48 100644
--- a/common/btrfs
+++ b/common/btrfs
@@ -710,6 +710,24 @@ _check_regular_qgroup()
_qgroup_mode "$@" | grep -q 'qgroup'
}
+_qgroup_rescan()
+{
+ local mnt=$1
+
+ _check_regular_qgroup $dev || return 1
$dev is not initialized.
Test case such as btrfs/028 fails with MKFS_OPTIONS="-O squota" config
option.
btrfs/028 30s ... [failed, exit status 1]- output mismatch (see
/xfstests-dev/results//btrfs/028.out.bad)
--- tests/btrfs/028.out 2023-02-20 12:32:31.399005973 +0800
+++ /xfstests-dev/results//btrfs/028.out.bad 2023-09-28
20:54:52.744848575 +0800
@@ -1,2 +1,3 @@
QA output created by 028
-Silence is golden
+failed: '/usr/local/bin/btrfs quota rescan -w /mnt/scratch'
+(see /xfstests-dev/results//btrfs/028.full for details)
...
(Run 'diff -u /xfstests-dev/tests/btrfs/028.out
/xfstests-dev/results//btrfs/028.out.bad' to see the entire diff)
Thanks, Anand
+ _run_btrfs_util_prog quota rescan -w $mnt
+}
+
+_require_qgroup_rescan()
+{
+ _scratch_mkfs >>$seqres.full 2>&1
+ _scratch_mount
+ _run_btrfs_util_prog quota enable $SCRATCH_MNT
+ $BTRFS_UTIL_PROG quota rescan -w $SCRATCH_MNT || \
+ _notrun "not able to run quota rescan"
+ _scratch_unmount
+}
+
_require_scratch_qgroup()
{
_scratch_mkfs >>$seqres.full 2>&1