From: Xiao Yang <yangx.jy@cn.fujitsu.com>
To: Ira Weiny <ira.weiny@intel.com>
Cc: <fstests@vger.kernel.org>, <darrick.wong@oracle.com>
Subject: Re: [PATCH v3 6/6] xfs/260: Move and update xfs/260
Date: Wed, 1 Jul 2020 08:57:50 +0800 [thread overview]
Message-ID: <5EFBDF8E.6080007@cn.fujitsu.com> (raw)
In-Reply-To: <20200630204153.GW2617015@iweiny-DESK2.sc.intel.com>
On 2020/7/1 4:41, Ira Weiny wrote:
> On Tue, Jun 30, 2020 at 09:59:51PM +0800, Xiao Yang wrote:
>> 1) Both ext4 and xfs have supported inode DAX flag so move it to generic.
>> 2) Modifying inode DAX flag on flies does not take effect immediately so
>> make files inherit the DAX flag of parent directory.
>> 3) Setting/clearing inode DAX flag have no chance to change S_DAX flag if
>> mount with dax option so remove the related subtest.
>>
>> Signed-off-by: Xiao Yang<yangx.jy@cn.fujitsu.com>
>> Signed-off-by: Ira Weiny<ira.weiny@intel.com>
>> ---
>> tests/{xfs/260 => generic/603} | 63 +++++++++++++++++-----------------
>> tests/generic/603.out | 2 ++
>> tests/generic/group | 1 +
>> tests/xfs/260.out | 2 --
>> tests/xfs/group | 1 -
>> 5 files changed, 34 insertions(+), 35 deletions(-)
>> rename tests/{xfs/260 => generic/603} (60%)
>> create mode 100644 tests/generic/603.out
>> delete mode 100644 tests/xfs/260.out
>>
>> diff --git a/tests/xfs/260 b/tests/generic/603
>> similarity index 60%
>> rename from tests/xfs/260
>> rename to tests/generic/603
>> index 7afc20f1..f40048f9 100755
>> --- a/tests/xfs/260
>> +++ b/tests/generic/603
>> @@ -2,7 +2,7 @@
>> # SPDX-License-Identifier: GPL-2.0
>> # Copyright (c) 2017 Red Hat Inc. All Rights Reserved.
>> #
>> -# FS QA Test 260
>> +# FS QA Test 603
>> #
>> # Test per-inode DAX flag by mmap direct/buffered IO.
>> #
>> @@ -28,7 +28,7 @@ _cleanup()
>> # remove previous $seqres.full before test
>> rm -f $seqres.full
>>
>> -_supported_fs xfs
>> +_supported_fs generic
>> _supported_os Linux
>> _require_scratch_dax_mountopt "dax"
>> _require_test_program "feature"
>> @@ -36,68 +36,72 @@ _require_test_program "t_mmap_dio"
>> _require_scratch_dax_iflag
>> _require_xfs_io_command "falloc"
>>
>> -prep_files()
>> +SRC_DIR=$SCRATCH_MNT/src
>> +SRC_FILE=$SRC_DIR/tf_s
>> +DST_DIR=$SCRATCH_MNT/dst
>> +DST_FILE=$DST_DIR/tf_d
>> +
>> +prep_directories()
>> {
>> - rm -f $SCRATCH_MNT/tf_{s,d}
>> + mkdir -p $SRC_DIR $DST_DIR
>> +}
>>
>> +prep_files()
>> +{
>> + rm -f $SRC_FILE $DST_FILE
>> $XFS_IO_PROG -f -c "falloc 0 $tsize" \
>> - $SCRATCH_MNT/tf_{s,d}>> $seqres.full 2>&1
>> + $SRC_FILE $DST_FILE>> $seqres.full 2>&1
>> }
>>
>> t_both_dax()
>> {
>> + $XFS_IO_PROG -c "chattr +x" $SRC_DIR $DST_DIR
>> prep_files
>> - $XFS_IO_PROG -c "chattr +x" $SCRATCH_MNT/tf_{s,d}
>> # with O_DIRECT first
>> - $here/src/t_mmap_dio $SCRATCH_MNT/tf_{s,d} $1 "dio both dax"
>> + $here/src/t_mmap_dio $SRC_FILE $DST_FILE \
>> + $1 "dio both dax"
>>
>> prep_files
>> - $XFS_IO_PROG -c "chattr +x" $SCRATCH_MNT/tf_{s,d}
>> # again with buffered IO
>> - $here/src/t_mmap_dio -b $SCRATCH_MNT/tf_{s,d} \
>> + $here/src/t_mmap_dio -b $SRC_FILE $DST_FILE \
>> $1 "buffered both dax"
>> }
>>
>> t_nondax_to_dax()
>> {
>> + $XFS_IO_PROG -c "chattr -x" $SRC_DIR
>> + $XFS_IO_PROG -c "chattr +x" $DST_DIR
>> prep_files
>> - $XFS_IO_PROG -c "chattr -x" $SCRATCH_MNT/tf_s
>> - $XFS_IO_PROG -c "chattr +x" $SCRATCH_MNT/tf_d
>> - $here/src/t_mmap_dio $SCRATCH_MNT/tf_{s,d} \
>> + $here/src/t_mmap_dio $SRC_FILE $DST_FILE \
>> $1 "dio nondax to dax"
>>
>> prep_files
>> - $XFS_IO_PROG -c "chattr -x" $SCRATCH_MNT/tf_s
>> - $XFS_IO_PROG -c "chattr +x" $SCRATCH_MNT/tf_d
>> - $here/src/t_mmap_dio -b $SCRATCH_MNT/tf_{s,d} \
>> + $here/src/t_mmap_dio -b $SRC_FILE $DST_FILE \
>> $1 "buffered nondax to dax"
>> }
>>
>> t_dax_to_nondax()
>> {
>> + $XFS_IO_PROG -c "chattr +x" $SRC_DIR
>> + $XFS_IO_PROG -c "chattr -x" $DST_DIR
>> prep_files
>> - $XFS_IO_PROG -c "chattr +x" $SCRATCH_MNT/tf_s
>> - $XFS_IO_PROG -c "chattr -x" $SCRATCH_MNT/tf_d
>> - $here/src/t_mmap_dio $SCRATCH_MNT/tf_{s,d} \
>> + $here/src/t_mmap_dio $SRC_FILE $DST_FILE \
>> $1 "dio dax to nondax"
>>
>> prep_files
>> - $XFS_IO_PROG -c "chattr +x" $SCRATCH_MNT/tf_s
>> - $XFS_IO_PROG -c "chattr -x" $SCRATCH_MNT/tf_d
>> - $here/src/t_mmap_dio -b $SCRATCH_MNT/tf_{s,d} \
>> + $here/src/t_mmap_dio -b $SRC_FILE $DST_FILE \
>> $1 "buffered dax to nondax"
>> }
>>
>> t_both_nondax()
>> {
>> + $XFS_IO_PROG -c "chattr -x" $SRC_DIR $DST_DIR
>> prep_files
>> - $XFS_IO_PROG -c "chattr -x" $SCRATCH_MNT/tf_{s,d}
>> - $here/src/t_mmap_dio $SCRATCH_MNT/tf_{s,d} \
>> + $here/src/t_mmap_dio $SRC_FILE $DST_FILE \
>> $1 "dio both nondax"
>>
>> prep_files
>> - $XFS_IO_PROG -c "chattr -x" $SCRATCH_MNT/tf_{s,d}
>> - $here/src/t_mmap_dio -b $SCRATCH_MNT/tf_{s,d} \
>> + $here/src/t_mmap_dio -b $SRC_FILE $DST_FILE \
>> $1 "buffered both nondax"
>> }
>>
>> @@ -112,6 +116,7 @@ t_dax_flag_mmap_dio()
>>
>> do_tests()
>> {
>> + prep_directories
>> # less than page size
>> t_dax_flag_mmap_dio 1024
>> # page size
>> @@ -124,15 +129,9 @@ do_tests()
>> # make xfs aligned for PMD fault testing
>> _scratch_mkfs_geom $(_get_hugepagesize) 1>> $seqres.full 2>&1
>>
>> -# mount with dax option
>> -_scratch_mount "-o dax"
>> -
>> tsize=$((128 * 1024 * 1024))
>>
>> -do_tests
>> -_scratch_unmount
>> -
>> -# mount again without dax option
>> +# mount without dax option
> NIT: we could mention that this defaults to the dax=inode state for the FS
> now... but I don't think it is absolutely necessary.
Hi Ira,
I am ok to add the nit. :-)
In addition, I actaully simplify the code your provided so do you have
any comment on this change.?
Best Regards,
Xiao Yang
> Reviewed-by: Ira Weiny<ira.weiny@intel.com>
>
>
>> export MOUNT_OPTIONS=""
>> _scratch_mount
>> do_tests
>> diff --git a/tests/generic/603.out b/tests/generic/603.out
>> new file mode 100644
>> index 00000000..6810da89
>> --- /dev/null
>> +++ b/tests/generic/603.out
>> @@ -0,0 +1,2 @@
>> +QA output created by 603
>> +Silence is golden
>> diff --git a/tests/generic/group b/tests/generic/group
>> index d9ab9a31..1d0d5606 100644
>> --- a/tests/generic/group
>> +++ b/tests/generic/group
>> @@ -605,3 +605,4 @@
>> 600 auto quick quota
>> 601 auto quick quota
>> 602 auto quick encrypt
>> +603 auto attr quick dax
>> diff --git a/tests/xfs/260.out b/tests/xfs/260.out
>> deleted file mode 100644
>> index 18ca517c..00000000
>> --- a/tests/xfs/260.out
>> +++ /dev/null
>> @@ -1,2 +0,0 @@
>> -QA output created by 260
>> -Silence is golden
>> diff --git a/tests/xfs/group b/tests/xfs/group
>> index daf54add..71c30898 100644
>> --- a/tests/xfs/group
>> +++ b/tests/xfs/group
>> @@ -257,7 +257,6 @@
>> 257 auto quick clone
>> 258 auto quick clone
>> 259 auto quick
>> -260 auto attr quick dax
>> 261 auto quick quota
>> 262 dangerous_fuzzers dangerous_scrub dangerous_online_repair
>> 263 auto quick quota
>> --
>> 2.21.0
>>
>>
>>
>
> .
>
next prev parent reply other threads:[~2020-07-01 0:58 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-06-30 13:59 [PATCH v3 0/6] Make fstests support new behavior of DAX Xiao Yang
2020-06-30 13:59 ` [PATCH v3 1/6] common/rc: Introduce new helpers for DAX mount options and FS_XFLAG_DAX Xiao Yang
2020-06-30 13:59 ` [PATCH v3 2/6] fstests: Use _require_scratch_dax_mountopt() and _require_scratch_dax_iflag() Xiao Yang
2020-06-30 13:59 ` [PATCH v3 3/6] common/rc: Remove unused _require_scratch_dax() Xiao Yang
2020-06-30 13:59 ` [PATCH v3 4/6] generic/223: Don't clear all mkfs options for _scratch_mkfs_geom() roughly Xiao Yang
2020-06-30 13:59 ` [PATCH v3 5/6] generic/413, xfs/260: Improve format operation for PMD fault testing Xiao Yang
2020-06-30 13:59 ` [PATCH v3 6/6] xfs/260: Move and update xfs/260 Xiao Yang
2020-06-30 20:41 ` Ira Weiny
2020-07-01 0:57 ` Xiao Yang [this message]
2020-07-01 16:07 ` Ira Weiny
2020-06-30 20:34 ` [PATCH v3 0/6] Make fstests support new behavior of DAX Ira Weiny
2020-07-01 1:10 ` Xiao Yang
2020-07-01 16:07 ` Ira Weiny
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5EFBDF8E.6080007@cn.fujitsu.com \
--to=yangx.jy@cn.fujitsu.com \
--cc=darrick.wong@oracle.com \
--cc=fstests@vger.kernel.org \
--cc=ira.weiny@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.