Bug 3682 - [Anck 4.19][anolis8.6][x86_64][社区nightly][xfs文件系统]xfstests测试套下generic/594用例失败,Block grace time和Inode grace time与预期不符
Summary: [Anck 4.19][anolis8.6][x86_64][社区nightly][xfs文件系统]xfstests测试套下generic/594用例失败...
Status: RESOLVED BYDESIGN
Alias: None
Product: Anolis OS 8
Classification: Anolis OS
Component: kernel - anck-4.19 (show other bugs) kernel - anck-4.19
Version: 8.6
Hardware: x86_64 Linux
: P3-Medium S3-normal
Target Milestone: ---
Assignee: gaoxiang
QA Contact: shuming
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-01-10 15:16 UTC by zhixin01
Modified: 2023-01-11 17:39 UTC (History)
6 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Comment 1 zhixin01 alibaba_cloud_group 2023-01-10 15:35:51 UTC
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
Comment 2 anolislw alibaba_cloud_group 2023-01-11 16:17:44 UTC
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)
Comment 3 gaoxiang alibaba_cloud_group 2023-01-11 17:32:21 UTC
见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特性
Comment 4 gaoxiang alibaba_cloud_group 2023-01-11 17:39:49 UTC
本特性于v5.8合入, v5.10不涉及,4.19建议忽略这个测试。