shared/272: don't use data journaling with DAX
authorRoss Zwisler <ross.zwisler@linux.intel.com>
Wed, 17 Jan 2018 23:23:50 +0000 (16:23 -0700)
committerEryu Guan <eguan@redhat.com>
Thu, 18 Jan 2018 14:10:42 +0000 (22:10 +0800)
commit1ee97207dce2db8c36f592c6853d19a7c010e3d1
treed032aff426dc899b3e0b5e377447868890b99467
parent67c2db9a18914c7247808969183ffb88471bbf22
shared/272: don't use data journaling with DAX

shared/272 fails with kernels v4.15-rc1 and beyond when you are
mounted with DAX:

shared/272  [failed, exit status 1] - output mismatch (see
/root/project/xfstests/results//shared/272.out.bad)
    --- tests/shared/272.out 2015-12-05 13:12:17.038257578 -0700
    +++ /root/project/xfstests/results//shared/272.out.bad 2018-01-17
    15:37:18.581631116 -0700
    @@ -1,3 +1,3 @@
     QA output created by 272
     Switch data journalling mode. Silence is golden.
    -Check filesystem
    +/usr/bin/chattr: Device or resource busy while setting flags on
    /mnt/xfstests_scratch/file.1
    ...
    (Run 'diff -u tests/shared/272.out
    /root/project/xfstests/results//shared/272.out.bad'  to see the entire
    diff)

This is expected.  The following kernel commit:

commit e9072d859df3 ("ext4: prevent data corruption with journaling + DAX")

makes "chattr +j", which is attempting to turn on data journaling,
return -EBUSY if the ext4 DAX mount option is in use.  This was done
to prevent the data corruption shown in xfstest ext4/030, added by
this xfstests commit:

commit 750a24e99e48 ("ext4: test for DAX + journaling corruption")

So, just skip shared/272 if the DAX mount option is in use.

Signed-off-by: Ross Zwisler <ross.zwisler@linux.intel.com>
Reviewed-by: Eryu Guan <eguan@redhat.com>
Signed-off-by: Eryu Guan <eguan@redhat.com>
tests/shared/272