From: XiaoLi Feng <xifeng@redhat.com>
To: fstests@vger.kernel.org
Cc: yangx.jy@cn.fujitsu.com, darrick.wong@oracle.com,
Xiaoli Feng <xifeng@redhat.com>
Subject: [PATCH v2] generic/608: verify S_DAX is active immediately for DONTCACHE
Date: Wed, 10 Feb 2021 15:58:15 +0800 [thread overview]
Message-ID: <20210210075815.13958-1-xifeng@redhat.com> (raw)
From: Xiaoli Feng <xifeng@redhat.com>
After upstream linux patches(77573fa310d, 88149082bb8), if
FS_XFLAG_DAX is set, DONTCACHE is also set. So S_DAX on the file
should be active immediately once FS_XFLAG_DAX is set.
---
tests/generic/608 | 38 +++++++++++---------------------------
1 file changed, 11 insertions(+), 27 deletions(-)
diff --git a/tests/generic/608 b/tests/generic/608
index dd89d91c..92f368e0 100755
--- a/tests/generic/608
+++ b/tests/generic/608
@@ -6,7 +6,7 @@
# Change FS_XFLAG_DAX on an existing file and check if S_DAX on
# the file can take effect immediately by the following steps:
# 1) Stop all applications which are using the file.
-# 2) Do drop_caches or umount & mount cycle.
+# 2) DONTCACHE is set.
seq=`basename $0`
seqres=$RESULT_DIR/$seq
@@ -36,7 +36,7 @@ _require_dax_iflag
_require_xfs_io_command "lsattr" "-v"
_require_xfs_io_command "statx" "-r"
-test_drop_caches()
+test_caches()
{
local t_file=$SCRATCH_MNT/testfile
@@ -51,56 +51,40 @@ test_drop_caches()
_check_xflag $t_file 1
_check_s_dax $t_file 0
- # One application is using test file and check if S_DAX on
- # the file doesn't take effect immediately by drop_caches
- echo 2 > /proc/sys/vm/drop_caches
- _check_s_dax $t_file 0
-
exec 3<&-
# No application is using test file and check if S_DAX on
# the file takes effect immediately by drop_caches
- echo 2 > /proc/sys/vm/drop_caches
_check_s_dax $t_file 1
}
-test_cycle_mount()
+test_nocache()
{
- local option=$1
- local t_dir=$SCRATCH_MNT/testdir
- local t_file=$t_dir/testfile
+ local t_file=$SCRATCH_MNT/testnocache
- mkdir -p $t_dir
- $XFS_IO_PROG -c 'chattr +x' $t_dir
rm -f $t_file
touch $t_file
+ _check_xflag $t_file 0
+ _check_s_dax $t_file 0
+
+ $XFS_IO_PROG -c 'chattr +x' $t_file
_check_xflag $t_file 1
_check_s_dax $t_file 1
- exec 3< $t_file
-
$XFS_IO_PROG -c 'chattr -x' $t_file
_check_xflag $t_file 0
- _check_s_dax $t_file 1
-
- exec 3<&-
-
- # No application is using test file and check if S_DAX on
- # the file takes effect immediately by umount & mount
- _scratch_cycle_mount "$option"
_check_s_dax $t_file 0
}
do_tests()
{
local mount_option=$1
- local cycle_mount_option=$2
_scratch_mount "$mount_option"
- test_drop_caches
+ test_caches
- test_cycle_mount "$cycle_mount_option"
+ test_nocache
_scratch_unmount
}
@@ -108,7 +92,7 @@ do_tests()
_scratch_mkfs >> $seqres.full 2>&1
# Mount with dax option
-do_tests "-o dax=inode" "dax=inode"
+do_tests "-o dax=inode"
# Mount without dax option
export MOUNT_OPTIONS=""
--
2.18.1
next reply other threads:[~2021-02-10 7:59 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-02-10 7:58 XiaoLi Feng [this message]
2021-02-18 6:08 ` [PATCH v2] generic/608: verify S_DAX is active immediately for DONTCACHE Xiao Yang
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=20210210075815.13958-1-xifeng@redhat.com \
--to=xifeng@redhat.com \
--cc=darrick.wong@oracle.com \
--cc=fstests@vger.kernel.org \
--cc=yangx.jy@cn.fujitsu.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.