Bug 1386 - [Anck 5.10][aarch64][xfs文件系统]generic/083 +fsstress: check_cwd failure
Summary: [Anck 5.10][aarch64][xfs文件系统]generic/083 +fsstress: check_cwd failure
Status: RESOLVED WORKSFORME
Alias: None
Product: ANCK 5.10 Dev
Classification: ANCK
Component: fs (show other bugs) fs
Version: unspecified
Hardware: aarch64 Linux
: P3-Medium S3-normal
Target Milestone: ---
Assignee: ZiyangZhang
QA Contact: shuming
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-05-31 17:23 UTC by kangjiangbo
Modified: 2022-06-08 10:19 UTC (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description kangjiangbo 2022-05-31 17:23:52 UTC
Description of problem:
5.10 arm产品xfs文件系统 generic/083用例失败 +fsstress: check_cwd failure
x86上测试成功

generic/083	_check_xfs_filesystem: filesystem on /dev/nvme0n1p2 has dirty log
(see /tmp/tone/run/xfstests/results//generic/083.full for details)
_check_xfs_filesystem: filesystem on /dev/nvme0n1p2 is inconsistent (c)
(see /tmp/tone/run/xfstests/results//generic/083.full for details)
_check_xfs_filesystem: filesystem on /dev/nvme0n1p2 is inconsistent (r)
(see /tmp/tone/run/xfstests/results//generic/083.full for details)
- output mismatch (see /tmp/tone/run/xfstests/results//generic/083.out.bad)
    --- tests/generic/083.out	2022-05-31 09:42:47.290576013 +0800
    +++ /tmp/tone/run/xfstests/results//generic/083.out.bad	2022-05-31 11:28:37.164266867 +0800
    @@ -1,4 +1,19 @@
     QA output created by 083
     *** test out-of-space handling for random write operations
    +fsstress: check_cwd failure
    +fsstress: check_cwd failure
    +fsstress: check_cwd failure
    +fsstress: check_cwd failure
    +fsstress: check_cwd failure

可能是这个问题
commit 86db85c33c69da782cb91cae315a61d81425cffe
Author: Luis Chamberlain <mcgrof@kernel.org>
Date:   Fri Nov 5 09:44:32 2021 -0700

    fsstress: improve error message on check_cwd() error

    I ran into an error with generic/083 with xfs due to check_cwd() but
    why it failed is not clear because there are two types of
    failures:

      o stat64() failed (likely -ENOMEM is my guess)
      o the inode actually changed

    Throw a bone out to developers so that in case en error does happen
    they know which rabbit hole to go into.

Version-Release number of selected component (if applicable):
# uname -r
5.10.112-276.git.5059f67a6.an8.aarch64
[root@l57h15219 tone]# cat /etc/os-release
NAME="Anolis OS"
VERSION="8.2"
ID="anolis"
ID_LIKE="rhel fedora centos"
VERSION_ID="8.2"
PLATFORM_ID="platform:an8"
PRETTY_NAME="Anolis OS 8.2"
ANSI_COLOR="0;31"
HOME_URL="https://openanolis.org/"


How reproducible:
1. 准备环境
#准备disk1 disk2测试盘,视本地环境修改
disk1=vdb1
disk2=vdb2

dmsetup remove_all
wipefs -a --force /dev/$disk1
wipefs -a --force /dev/$disk2

mkfs -t ext4 -q -F /dev/$disk1
mkfs -t ext4 -q -F /dev/$disk2

export TEST_DIR=/fs/$disk1
export TEST_DEV=/dev/$disk1
export FSTYP=ext4
export SCRATCH_MNT=/fs/scratch
mkdir /fs/$disk1 -p
mkdir /fs/scratch -p
export SCRATCH_DEV=/dev/$disk2

2. 下载xfstests测试代码

3. 编译测试源码
cd xfstests-dev
export CFLAGS="-fcommon"
make
make install

4.执行测试用例
./check -overlay tests/generic/083


Actual results:
generic/083	_check_xfs_filesystem: filesystem on /dev/nvme0n1p2 has dirty log
(see /tmp/tone/run/xfstests/results//generic/083.full for details)
_check_xfs_filesystem: filesystem on /dev/nvme0n1p2 is inconsistent (c)
(see /tmp/tone/run/xfstests/results//generic/083.full for details)
_check_xfs_filesystem: filesystem on /dev/nvme0n1p2 is inconsistent (r)
(see /tmp/tone/run/xfstests/results//generic/083.full for details)
- output mismatch (see /tmp/tone/run/xfstests/results//generic/083.out.bad)
    --- tests/generic/083.out	2022-05-31 09:42:47.290576013 +0800
    +++ /tmp/tone/run/xfstests/results//generic/083.out.bad	2022-05-31 11:28:37.164266867 +0800
    @@ -1,4 +1,19 @@
     QA output created by 083
     *** test out-of-space handling for random write operations
    +fsstress: check_cwd failure
    +fsstress: check_cwd failure
    +fsstress: check_cwd failure
    +fsstress: check_cwd failure
    +fsstress: check_cwd failure
    +++ /tmp/tone/run/xfstests/results//generic/591.out.bad     2022-05-13 1


Expected results:

Additional info:

arm失败,x86成功
可能是这个问题
commit 86db85c33c69da782cb91cae315a61d81425cffe
Author: Luis Chamberlain <mcgrof@kernel.org>
Date:   Fri Nov 5 09:44:32 2021 -0700

    fsstress: improve error message on check_cwd() error

    I ran into an error with generic/083 with xfs due to check_cwd() but
    why it failed is not clear because there are two types of
    failures:

      o stat64() failed (likely -ENOMEM is my guess)
      o the inode actually changed

    Throw a bone out to developers so that in case en error does happen
    they know which rabbit hole to go into.

rpm -qa|grep xfsprog
xfsprogs-5.0.0-9.an8.aarch64
Comment 1 ZiyangZhang alibaba_cloud_group 2022-06-01 16:50:53 UTC
没有复现该错误,输出如下:
# ./check -overlay tests/generic/083
FSTYP         -- overlay
PLATFORM      -- Linux/aarch64 iZuf63sjrxid8s30gt1ir8Z 5.10.112-276.git.5059f67a6.an8.aarch64 #1 SMP Mon May 30 13:14:51 UTC 2022
MKFS_OPTIONS  -- /fs/loop1
MOUNT_OPTIONS -- /fs/loop1 /fs/loop1/ovl-mnt

generic/083 3s ... [not run] Filesystem overlay not supported in _scratch_mkfs_sized
Ran: generic/083
Not run: generic/083
Passed all 1 tests

请确认是否携带“-overlay”参数,如是,请进一步明确复现步骤(是否需要安装overlayfs-progs?)
Comment 2 Joseph Qi alibaba_cloud_group 2022-06-01 17:38:50 UTC
用例步骤中描述好像有些不一致,描述写的是 underlayer filesystem 是 xfs,但步骤中又是 ext4
Comment 3 Joseph Qi alibaba_cloud_group 2022-06-01 17:40:13 UTC
(In reply to ZiyangZhang from comment #1)
> 没有复现该错误,输出如下:
> # ./check -overlay tests/generic/083
> FSTYP         -- overlay
> PLATFORM      -- Linux/aarch64 iZuf63sjrxid8s30gt1ir8Z
> 5.10.112-276.git.5059f67a6.an8.aarch64 #1 SMP Mon May 30 13:14:51 UTC 2022
> MKFS_OPTIONS  -- /fs/loop1
> MOUNT_OPTIONS -- /fs/loop1 /fs/loop1/ovl-mnt
> 
> generic/083 3s ... [not run] Filesystem overlay not supported in
> _scratch_mkfs_sized
> Ran: generic/083
> Not run: generic/083
> Passed all 1 tests
> 
> 请确认是否携带“-overlay”参数,如是,请进一步明确复现步骤(是否需要安装overlayfs-progs?)

这个应该是测试环境不一致,你这个是缺少依赖 not run;
另外没有 overlayfs-progs 这种包
Comment 4 kangjiangbo 2022-06-01 18:00:23 UTC
没有overlay     我也又执行成功了 我再确认下
Comment 5 ZiyangZhang alibaba_cloud_group 2022-06-01 23:08:43 UTC
(In reply to josephqi from comment #3)
> (In reply to ZiyangZhang from comment #1)
> > 没有复现该错误,输出如下:
> > # ./check -overlay tests/generic/083
> > FSTYP         -- overlay
> > PLATFORM      -- Linux/aarch64 iZuf63sjrxid8s30gt1ir8Z
> > 5.10.112-276.git.5059f67a6.an8.aarch64 #1 SMP Mon May 30 13:14:51 UTC 2022
> > MKFS_OPTIONS  -- /fs/loop1
> > MOUNT_OPTIONS -- /fs/loop1 /fs/loop1/ovl-mnt
> > 
> > generic/083 3s ... [not run] Filesystem overlay not supported in
> > _scratch_mkfs_sized
> > Ran: generic/083
> > Not run: generic/083
> > Passed all 1 tests
> > 
> > 请确认是否携带“-overlay”参数,如是,请进一步明确复现步骤(是否需要安装overlayfs-progs?)
> 
> 这个应该是测试环境不一致,你这个是缺少依赖 not run;
> 另外没有 overlayfs-progs 这种包

OK,我之前参考了https://github.com/kdave/xfstests的README描述:

4. Install packages for the filesystem(s) being tested:

    For XFS install:
     $ sudo yum install xfsdump xfsprogs-devel

    ...

    For OverlayFS build and install:
     - see https://github.com/hisilicon/overlayfs-progs

我以为和里面提到的overlayfs-progs有关
Comment 6 ZiyangZhang alibaba_cloud_group 2022-06-01 23:12:59 UTC
(In reply to kangjiangbo from comment #4)
> 没有overlay     我也又执行成功了 我再确认下

+1 我这里在没有overlay参数时,测试通过了,FSTYP为ext4:
# ./check  tests/generic/083
FSTYP         -- ext4
PLATFORM      -- Linux/aarch64 dev 5.10.112-276.git.5059f67a6.an8.aarch64 #1 SMP Mon May 30 13:14:51 UTC 2022
MKFS_OPTIONS  -- /dev/loop1
MOUNT_OPTIONS -- -o acl,user_xattr /dev/loop1 /fs/loop1

generic/083	 2s
Ran: generic/083
Passed all 1 tests
Comment 7 kangjiangbo 2022-06-08 10:00:12 UTC
这个用例现在确实pass了,bug可以先关了
Comment 8 Joseph Qi alibaba_cloud_group 2022-06-08 10:19:21 UTC
Works now