2017-02-28 03:25:56

by Murphy Zhou

[permalink] [raw]
Subject: Ext4 new shutdown ioctl fails generic/04{4,5,6}

Hi,

On latest Linus tree, xfstests generic/04{4,5,6} fails.

FSTYP -- ext4
PLATFORM -- Linux/x86_64 rhel73 4.10.0-master-45554b2+
MKFS_OPTIONS -- /dev/sdc
MOUNT_OPTIONS -- -o acl,user_xattr -o context=system_u:object_r:nfs_t:s0 /dev/sdc /test2

generic/045 - output mismatch (see /root/xfstests-dev/results//generic/045.out.bad)
--- tests/generic/045.out 2017-02-21 21:49:05.045000000 -0500
+++ /root/xfstests-dev/results//generic/045.out.bad 2017-02-27 22:24:52.444000000 -0500
@@ -1 +1,1000 @@
QA output created by 045
+corrupt file /test2/1 - non-zero size but no extents
+corrupt file /test2/2 - non-zero size but no extents
+corrupt file /test2/3 - non-zero size but no extents
+corrupt file /test2/4 - non-zero size but no extents
+corrupt file /test2/5 - non-zero size but no extents
+corrupt file /test2/6 - non-zero size but no extents


2017-02-28 05:13:37

by Theodore Ts'o

[permalink] [raw]
Subject: Re: Ext4 new shutdown ioctl fails generic/04{4,5,6}

On Tue, Feb 28, 2017 at 11:25:56AM +0800, Xiong Zhou wrote:
>
> On latest Linus tree, xfstests generic/04{4,5,6} fails.

Yes, that's known issue. generic/04[456] were originally XFS specific
tests, and they have have assumptions about the implementation of the
underlying file system.

We have a few of those at the moment in kvm-xfstests/gce-xfstests's
exclude file:

https://git.kernel.org/cgit/fs/ext2/xfstests-bld.git/tree/kvm-xfstests/test-appliance/files/root/fs/ext4/exclude

# generic/042 and generic/392 are failing because ext4 forces the
# resolution of all delayed allocation writes before allowing the
# punch operation to proceed. We probably want to see if we can avoid
# this for the future, but what ext4 is doing is legal, so just skip
# the test for now
generic/042
generic/392

# generic/04[456] tests how truncate and delayed allocation works
# ext4 uses the data=ordered to avoid exposing stale data, and
# so it uses a different mechanism than xfs. So these tests will fail
generic/044
generic/045
generic/046

# generic/223 tests file alignment, which works on ext4 only by
# accident because we're not RAID stripe aware yet, and works at all
# because we have bias towards aligning on power-of-two block numbers.
# It is a flaky test for some configurations, so skip it.
generic/223

# ext4/304 fails for all configurations, and this appears to be at
# test or fio bug.
#
ext4/304

Cheers,

- Ted