Description of problem: xfstests测试套下generic/594用例失败,Block grace time和Inode grace time与预期不符 日志如下: generic/594 - output mismatch (see /tmp/tone/run/xfstests/results//generic/594.out.bad) --- tests/generic/594.out 2023-01-09 23:08:37.025706886 +0800 +++ /tmp/tone/run/xfstests/results//generic/594.out.bad 2023-01-10 15:13:38.694229695 +0800 @@ -1,35 +1,35 @@ QA output created by 594 1. set project quota timer *** Report for user quotas on device SCRATCH_DEV -Block grace time: DEF_TIME; Inode grace time: DEF_TIME +Block grace time: 00:10; Inode grace time: 00:20 *** Report for group quotas on device SCRATCH_DEV -Block grace time: DEF_TIME; Inode grace time: DEF_TIME ... (Run 'diff -u /tmp/tone/run/xfstests/tests/generic/594.out /tmp/tone/run/xfstests/results//generic/594.out.bad' to see the entire diff) Ran: generic/594 Failures: generic/594 Failed 1 of 1 tests # diff -u /tmp/tone/run/xfstests/tests/generic/594.out /tmp/tone/run/xfstests/results//generic/594.out.bad --- /tmp/tone/run/xfstests/tests/generic/594.out 2023-01-09 23:08:37.025706886 +0800 +++ /tmp/tone/run/xfstests/results//generic/594.out.bad 2023-01-10 15:13:38.694229695 +0800 @@ -1,35 +1,35 @@ QA output created by 594 1. set project quota timer *** Report for user quotas on device SCRATCH_DEV -Block grace time: DEF_TIME; Inode grace time: DEF_TIME +Block grace time: 00:10; Inode grace time: 00:20 *** Report for group quotas on device SCRATCH_DEV -Block grace time: DEF_TIME; Inode grace time: DEF_TIME +Block grace time: 00:10; Inode grace time: 00:20 *** Report for project quotas on device SCRATCH_DEV Block grace time: 00:10; Inode grace time: 00:20 2. set group quota timer *** Report for user quotas on device SCRATCH_DEV -Block grace time: DEF_TIME; Inode grace time: DEF_TIME +Block grace time: 00:30; Inode grace time: 00:40 *** Report for group quotas on device SCRATCH_DEV Block grace time: 00:30; Inode grace time: 00:40 *** Report for project quotas on device SCRATCH_DEV -Block grace time: 00:10; Inode grace time: 00:20 +Block grace time: 00:30; Inode grace time: 00:40 3. set user quota timer *** Report for user quotas on device SCRATCH_DEV Block grace time: 00:50; Inode grace time: 01:00 *** Report for group quotas on device SCRATCH_DEV -Block grace time: 00:30; Inode grace time: 00:40 +Block grace time: 00:50; Inode grace time: 01:00 *** Report for project quotas on device SCRATCH_DEV -Block grace time: 00:10; Inode grace time: 00:20 +Block grace time: 00:50; Inode grace time: 01:00 4. cycle mount test-1 *** Report for user quotas on device SCRATCH_DEV Block grace time: 00:50; Inode grace time: 01:00 *** Report for group quotas on device SCRATCH_DEV -Block grace time: 00:30; Inode grace time: 00:40 +Block grace time: 00:50; Inode grace time: 01:00 *** Report for project quotas on device SCRATCH_DEV -Block grace time: 00:10; Inode grace time: 00:20 +Block grace time: 00:50; Inode grace time: 01:00 5. fsck to force quota check @@ -37,14 +37,14 @@ *** Report for user quotas on device SCRATCH_DEV Block grace time: 00:50; Inode grace time: 01:00 *** Report for group quotas on device SCRATCH_DEV -Block grace time: 00:30; Inode grace time: 00:40 +Block grace time: 00:50; Inode grace time: 01:00 *** Report for project quotas on device SCRATCH_DEV -Block grace time: 00:10; Inode grace time: 00:20 +Block grace time: 00:50; Inode grace time: 01:00 7. cycle mount test-3 *** Report for user quotas on device SCRATCH_DEV Block grace time: 00:50; Inode grace time: 01:00 *** Report for group quotas on device SCRATCH_DEV -Block grace time: 00:30; Inode grace time: 00:40 +Block grace time: 00:50; Inode grace time: 01:00 *** Report for project quotas on device SCRATCH_DEV -Block grace time: 00:10; Inode grace time: 00:20 +Block grace time: 00:50; Inode grace time: 01:00 How reproducible: 手动必现 Steps to Reproduce: wipefs -a --force /dev/vdb1 wipefs -a --force /dev/vdb2 wipefs -a --force /dev/vdb3 wipefs -a --force /dev/vdb4 mkfs -t xfs -L OStest -q -f /dev/vdb1 mkfs -t xfs -L OStest -q -f /dev/vdb2 mkfs -t xfs -L OStest -q -f /dev/vdb3 mkfs -t xfs -L OStest -q -f /dev/vdb4 export FSTYP=xfs export TEST_DIR=/fs/vdb1 export TEST_DEV=/dev/vdb1 export SCRATCH_MNT=/fs/vdb2 export SCRATCH_DEV=/dev/vdb2 mkdir -p /fs/vdb1 /fs/vdb2 git clone --branch anck-4.19 https://gitee.com/anolis/xfstests.git export CFLAGS="-fcommon" make configure ./configure make && make install ./check tests/generic/594 Actual results: 用例执行失败 Expected results: 用例执行通过 Additional info: # cat /etc/os-release NAME="Anolis OS" VERSION="8.6" ID="anolis" ID_LIKE="rhel fedora centos" VERSION_ID="8.6" PLATFORM_ID="platform:an8" PRETTY_NAME="Anolis OS 8.6" ANSI_COLOR="0;31" HOME_URL="https://openanolis.cn/" # uname -r 4.19.91-261.git.98e6929d1498.an8.x86_64 # yum list xfsprogs Last metadata expiration check: 3:28:46 ago on Tue 10 Jan 2023 12:05:18 PM CST. Installed Packages xfsprogs.x86_64 5.0.0-10.0.3.an8 @System # free -h total used free shared buff/cache available Mem: 15Gi 355Mi 10Gi 0.0Ki 3.9Gi 14Gi Swap: 0B 0B 0B
anolis8.6 ck-4.19 aarch64环境下该用例也存在问题 --------- generic/594 - output mismatch (see /tmp/tone/run/xfstests/results//generic/594.out.bad) --- tests/generic/594.out 2023-01-10 23:47:25.279496694 +0800 +++ /tmp/tone/run/xfstests/results//generic/594.out.bad 2023-01-11 01:21:14.981349261 +0800 @@ -1,35 +1,35 @@ QA output created by 594 1. set project quota timer *** Report for user quotas on device SCRATCH_DEV -Block grace time: DEF_TIME; Inode grace time: DEF_TIME +Block grace time: 00:10; Inode grace time: 00:20 *** Report for group quotas on device SCRATCH_DEV -Block grace time: DEF_TIME; Inode grace time: DEF_TIME ... (Run 'diff -u /tmp/tone/run/xfstests/tests/generic/594.out /tmp/tone/run/xfstests/results//generic/594.out.bad' to see the entire diff)
见commit message: commit 5b70d62ccc55530b8a95e8713544b7fcc6d19e14 Author: Zorro Lang <zlang@redhat.com> Date: Sun Mar 29 13:18:01 2020 +0800 generic: per-type quota timers set/get test Set different grace time, make sure each of quota (user, group and project) timers can be set (by setquota) and get (by repquota) correctly. Signed-off-by: Zorro Lang <zlang@redhat.com> Reviewed-by: Eryu Guan <guaneryu@gmail.com> Signed-off-by: Eryu Guan <guaneryu@gmail.com> 同 https://bugzilla.openanolis.cn/show_bug.cgi?id=3669 ,4.19缺少per-type quota特性
本特性于v5.8合入, v5.10不涉及,4.19建议忽略这个测试。