diff options
author | Christoph Hellwig <hch@lst.de> | 2024-04-18 09:40:43 +0200 |
---|---|---|
committer | Zorro Lang <zlang@kernel.org> | 2024-04-20 22:40:48 +0800 |
commit | a190f243a09dbe43a81c00b33778e8775c5f2a35 (patch) | |
tree | c903da678ca117e5987715b07915ac5a07d81a52 | |
parent | 71e748f834f399d388143ce78da69778c905d9a2 (diff) | |
download | xfstests-dev-a190f243a09dbe43a81c00b33778e8775c5f2a35.tar.gz |
xfs/263: split out the v4 test
Move the v4-specific test into a separate test case so that we can still
run the tests on a kernel without v4 support.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: "Darrick J. Wong" <djwong@kernel.org>
Signed-off-by: Zorro Lang <zlang@kernel.org>
-rwxr-xr-x | tests/xfs/096 | 73 | ||||
-rw-r--r-- | tests/xfs/096.out | 84 | ||||
-rwxr-xr-x | tests/xfs/263 | 5 | ||||
-rw-r--r-- | tests/xfs/263.out | 85 |
4 files changed, 157 insertions, 90 deletions
diff --git a/tests/xfs/096 b/tests/xfs/096 new file mode 100755 index 0000000000..7eff6cb1d7 --- /dev/null +++ b/tests/xfs/096 @@ -0,0 +1,73 @@ +#! /bin/bash +# SPDX-License-Identifier: GPL-2.0 +# Copyright (c) 2016 Red Hat, Inc. All Rights Reserved. +# +# FS QA Test 096 +# +# test xfs_quota state command (XFS v4 version) +# +. ./common/preamble +_begin_fstest auto quick quota + +# Import common functions. +. ./common/filter +. ./common/quota + +# real QA test starts here + +# Modify as appropriate. +_supported_fs xfs + +_require_scratch +_require_xfs_quota + +function option_string() +{ + VAL=$1 + # Treat 3 options as a bit field, prjquota|grpquota|usrquota + OPT="rw" + if [ "$((VAL & 4))" -ne "0" ]; then OPT=prjquota,${OPT}; fi; + if [ "$((VAL & 2))" -ne "0" ]; then OPT=grpquota,${OPT}; fi; + if [ "$((VAL & 1))" -ne "0" ]; then OPT=usrquota,${OPT}; fi; + echo $OPT +} + +filter_quota_state() { + sed -e 's/Inode: #[0-9]\+/Inode #XXX/g' \ + -e '/max warnings:/d' \ + -e '/Blocks grace time:/d' \ + -e '/Inodes grace time:/d' \ + | _filter_scratch +} + +filter_quota_state2() { + sed -e '/User quota state on/d' \ + -e '/ Accounting: /d' \ + -e '/ Enforcement: /d' \ + -e '/ Inode: /d' \ + -e '/Blocks max warnings: /d' \ + -e '/Inodes max warnings: /d' \ + | _filter_scratch +} + +function test_all_state() +{ + for I in `seq 0 7`; do + OPTIONS=`option_string $I` + echo "== Options: $OPTIONS ==" + # Some combinations won't mount on V4 supers (grp + prj) + _qmount_option "$OPTIONS" + _try_scratch_mount &>> $seqres.full || continue + $XFS_QUOTA_PROG -x -c "state -u" $SCRATCH_MNT | filter_quota_state + $XFS_QUOTA_PROG -x -c "state -g" $SCRATCH_MNT | filter_quota_state + $XFS_QUOTA_PROG -x -c "state -p" $SCRATCH_MNT | filter_quota_state + $XFS_QUOTA_PROG -x -c "state -u" $SCRATCH_MNT | filter_quota_state2 + _scratch_unmount + done +} + +_scratch_mkfs_xfs "-m crc=0 -n ftype=0" >> $seqres.full +test_all_state + +status=0 +exit diff --git a/tests/xfs/096.out b/tests/xfs/096.out new file mode 100644 index 0000000000..1deb7a8c30 --- /dev/null +++ b/tests/xfs/096.out @@ -0,0 +1,84 @@ +QA output created by 096 +== Options: rw == +== Options: usrquota,rw == +User quota state on SCRATCH_MNT (SCRATCH_DEV) + Accounting: ON + Enforcement: ON + Inode #XXX (1 blocks, 1 extents) +Group quota state on SCRATCH_MNT (SCRATCH_DEV) + Accounting: OFF + Enforcement: OFF + Inode: N/A +Project quota state on SCRATCH_MNT (SCRATCH_DEV) + Accounting: OFF + Enforcement: OFF + Inode: N/A +Blocks grace time: [7 days] +Inodes grace time: [7 days] +Realtime Blocks grace time: [7 days] +== Options: grpquota,rw == +User quota state on SCRATCH_MNT (SCRATCH_DEV) + Accounting: OFF + Enforcement: OFF + Inode #XXX (1 blocks, 1 extents) +Group quota state on SCRATCH_MNT (SCRATCH_DEV) + Accounting: ON + Enforcement: ON + Inode #XXX (1 blocks, 1 extents) +Project quota state on SCRATCH_MNT (SCRATCH_DEV) + Accounting: OFF + Enforcement: OFF + Inode: N/A +Blocks grace time: [7 days] +Inodes grace time: [7 days] +Realtime Blocks grace time: [7 days] +== Options: usrquota,grpquota,rw == +User quota state on SCRATCH_MNT (SCRATCH_DEV) + Accounting: ON + Enforcement: ON + Inode #XXX (1 blocks, 1 extents) +Group quota state on SCRATCH_MNT (SCRATCH_DEV) + Accounting: ON + Enforcement: ON + Inode #XXX (1 blocks, 1 extents) +Project quota state on SCRATCH_MNT (SCRATCH_DEV) + Accounting: OFF + Enforcement: OFF + Inode: N/A +Blocks grace time: [7 days] +Inodes grace time: [7 days] +Realtime Blocks grace time: [7 days] +== Options: prjquota,rw == +User quota state on SCRATCH_MNT (SCRATCH_DEV) + Accounting: OFF + Enforcement: OFF + Inode #XXX (1 blocks, 1 extents) +Group quota state on SCRATCH_MNT (SCRATCH_DEV) + Accounting: OFF + Enforcement: OFF + Inode: N/A +Project quota state on SCRATCH_MNT (SCRATCH_DEV) + Accounting: ON + Enforcement: ON + Inode #XXX (1 blocks, 1 extents) +Blocks grace time: [7 days] +Inodes grace time: [7 days] +Realtime Blocks grace time: [7 days] +== Options: usrquota,prjquota,rw == +User quota state on SCRATCH_MNT (SCRATCH_DEV) + Accounting: ON + Enforcement: ON + Inode #XXX (1 blocks, 1 extents) +Group quota state on SCRATCH_MNT (SCRATCH_DEV) + Accounting: OFF + Enforcement: OFF + Inode: N/A +Project quota state on SCRATCH_MNT (SCRATCH_DEV) + Accounting: ON + Enforcement: ON + Inode #XXX (1 blocks, 1 extents) +Blocks grace time: [7 days] +Inodes grace time: [7 days] +Realtime Blocks grace time: [7 days] +== Options: grpquota,prjquota,rw == +== Options: usrquota,grpquota,prjquota,rw == diff --git a/tests/xfs/263 b/tests/xfs/263 index bd30dab110..54e9355aa6 100755 --- a/tests/xfs/263 +++ b/tests/xfs/263 @@ -66,11 +66,6 @@ function test_all_state() done } -echo "==== NO CRC ====" -_scratch_mkfs_xfs "-m crc=0 -n ftype=0" >> $seqres.full -test_all_state - -echo "==== CRC ====" _scratch_mkfs_xfs "-m crc=1" >>$seqres.full test_all_state diff --git a/tests/xfs/263.out b/tests/xfs/263.out index 531d45de56..64c1a5876c 100644 --- a/tests/xfs/263.out +++ b/tests/xfs/263.out @@ -1,89 +1,4 @@ QA output created by 263 -==== NO CRC ==== -== Options: rw == -== Options: usrquota,rw == -User quota state on SCRATCH_MNT (SCRATCH_DEV) - Accounting: ON - Enforcement: ON - Inode #XXX (1 blocks, 1 extents) -Group quota state on SCRATCH_MNT (SCRATCH_DEV) - Accounting: OFF - Enforcement: OFF - Inode: N/A -Project quota state on SCRATCH_MNT (SCRATCH_DEV) - Accounting: OFF - Enforcement: OFF - Inode: N/A -Blocks grace time: [7 days] -Inodes grace time: [7 days] -Realtime Blocks grace time: [7 days] -== Options: grpquota,rw == -User quota state on SCRATCH_MNT (SCRATCH_DEV) - Accounting: OFF - Enforcement: OFF - Inode #XXX (1 blocks, 1 extents) -Group quota state on SCRATCH_MNT (SCRATCH_DEV) - Accounting: ON - Enforcement: ON - Inode #XXX (1 blocks, 1 extents) -Project quota state on SCRATCH_MNT (SCRATCH_DEV) - Accounting: OFF - Enforcement: OFF - Inode: N/A -Blocks grace time: [7 days] -Inodes grace time: [7 days] -Realtime Blocks grace time: [7 days] -== Options: usrquota,grpquota,rw == -User quota state on SCRATCH_MNT (SCRATCH_DEV) - Accounting: ON - Enforcement: ON - Inode #XXX (1 blocks, 1 extents) -Group quota state on SCRATCH_MNT (SCRATCH_DEV) - Accounting: ON - Enforcement: ON - Inode #XXX (1 blocks, 1 extents) -Project quota state on SCRATCH_MNT (SCRATCH_DEV) - Accounting: OFF - Enforcement: OFF - Inode: N/A -Blocks grace time: [7 days] -Inodes grace time: [7 days] -Realtime Blocks grace time: [7 days] -== Options: prjquota,rw == -User quota state on SCRATCH_MNT (SCRATCH_DEV) - Accounting: OFF - Enforcement: OFF - Inode #XXX (1 blocks, 1 extents) -Group quota state on SCRATCH_MNT (SCRATCH_DEV) - Accounting: OFF - Enforcement: OFF - Inode: N/A -Project quota state on SCRATCH_MNT (SCRATCH_DEV) - Accounting: ON - Enforcement: ON - Inode #XXX (1 blocks, 1 extents) -Blocks grace time: [7 days] -Inodes grace time: [7 days] -Realtime Blocks grace time: [7 days] -== Options: usrquota,prjquota,rw == -User quota state on SCRATCH_MNT (SCRATCH_DEV) - Accounting: ON - Enforcement: ON - Inode #XXX (1 blocks, 1 extents) -Group quota state on SCRATCH_MNT (SCRATCH_DEV) - Accounting: OFF - Enforcement: OFF - Inode: N/A -Project quota state on SCRATCH_MNT (SCRATCH_DEV) - Accounting: ON - Enforcement: ON - Inode #XXX (1 blocks, 1 extents) -Blocks grace time: [7 days] -Inodes grace time: [7 days] -Realtime Blocks grace time: [7 days] -== Options: grpquota,prjquota,rw == -== Options: usrquota,grpquota,prjquota,rw == -==== CRC ==== == Options: rw == == Options: usrquota,rw == User quota state on SCRATCH_MNT (SCRATCH_DEV) |