Test for showing qgroups include a staled qgroup list sorted by path. It crashed without checking qgroup has empty path. It fixed by the following commit in btrfs-progs: cd7f1e48 ("btrfs-progs: qgroup: check null in comparing paths") Signed-off-by: Sidong Yang <realwakka@xxxxxxxxx> --- tests/btrfs/298 | 34 ++++++++++++++++++++++++++++++++++ tests/btrfs/298.out | 2 ++ 2 files changed, 36 insertions(+) create mode 100755 tests/btrfs/298 create mode 100644 tests/btrfs/298.out diff --git a/tests/btrfs/298 b/tests/btrfs/298 new file mode 100755 index 00000000..5457423d --- /dev/null +++ b/tests/btrfs/298 @@ -0,0 +1,34 @@ +#! /bin/bash +# SPDX-License-Identifier: GPL-2.0 +# Copyright (c) 2023 Sidong Yang. All Rights Reserved. +# +# FS QA Test 298 +# +# Test that showing qgourps list includes a staled qgroup without crash. +# +. ./common/preamble +_begin_fstest auto quick qgroup + + . ./common/filter + +_supported_fs btrfs +_require_test +_require_scratch + +_scratch_mkfs > /dev/null 2>&1 +_scratch_mount + +# Create stale qgroup with creating and deleting a subvolume. +$BTRFS_UTIL_PROG quota enable $SCRATCH_MNT >> $seqres.full +$BTRFS_UTIL_PROG subvolume create $SCRATCH_MNT/a >> $seqres.full +$BTRFS_UTIL_PROG subvolume delete $SCRATCH_MNT/a >> $seqres.full + +# Show qgroups list with sorting path without crash. +$BTRFS_UTIL_PROG qgroup show --sort path $SCRATCH_MNT >> $seqres.full + +_scratch_unmount + +# success, all done +echo "Silence is golden" +status=0 +exit diff --git a/tests/btrfs/298.out b/tests/btrfs/298.out new file mode 100644 index 00000000..63434267 --- /dev/null +++ b/tests/btrfs/298.out @@ -0,0 +1,2 @@ +QA output created by 298 +Silence is golden -- 2.34.1