From: Xiao Yang <yangx.jy@cn.fujitsu.com>
To: <fstests@vger.kernel.org>
Cc: <darrick.wong@oracle.com>, <ira.weiny@intel.com>,
Xiao Yang <yangx.jy@cn.fujitsu.com>
Subject: [PATCH v5 1/8] common/rc: Introduce new helpers for DAX mount options and FS_XFLAG_DAX
Date: Thu, 9 Jul 2020 17:49:10 +0800 [thread overview]
Message-ID: <20200709094917.13923-2-yangx.jy@cn.fujitsu.com> (raw)
In-Reply-To: <20200709094917.13923-1-yangx.jy@cn.fujitsu.com>
1) _require_scratch_dax_mountopt() checks both old and new DAX mount option
2) _require_dax_iflag() checks FS_XFLAG_DAX
Signed-off-by: Xiao Yang <yangx.jy@cn.fujitsu.com>
Reviewed-by: Ira Weiny <ira.weiny@intel.com>
---
V4->V5:
1) Rename _require_scratch_dax_iflag to _require_dax_iflag
2) Redirect the output of _try_scratch_mount to /dev/null
common/rc | 35 +++++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)
diff --git a/common/rc b/common/rc
index f17b19f2..498ce230 100644
--- a/common/rc
+++ b/common/rc
@@ -3188,6 +3188,41 @@ _require_scratch_dax()
_scratch_unmount
}
+_require_scratch_dax_mountopt()
+{
+ local mountopt=$1
+ local output
+
+ _require_scratch
+ _scratch_mkfs > /dev/null 2>&1
+ _try_scratch_mount "-o $mountopt" > /dev/null 2>&1 || \
+ _notrun "mount $SCRATCH_DEV with $mountopt failed"
+
+ output=$(_fs_options $SCRATCH_DEV)
+
+ # For new dax mount option, /proc/mounts shows different outputs if we
+ # mount with -o dax=inode on ext4 and xfs so skip checking it.
+ # /proc/mounts shows 'dax=inode' on ext4 but shows nothing on xfs.
+ if [ "$mountopt" != "dax=inode" ]; then
+ echo $output | grep -qw "$mountopt" || \
+ _notrun "$SCRATCH_DEV $FSTYP does not support -o $mountopt"
+ fi
+
+ # For new dax mount option, /proc/mounts shows "dax=never" if we
+ # mount with -o dax on xfs and underlying device doesn't support dax.
+ if [ "$mountopt" = "dax" ]; then
+ echo $output | grep -qw "dax=never" && \
+ _notrun "$SCRATCH_DEV $FSTYP does not support -o $mountopt"
+ fi
+
+ _scratch_unmount
+}
+
+_require_dax_iflag()
+{
+ _require_xfs_io_command "chattr" "x"
+}
+
# Does norecovery support by this fs?
_require_norecovery()
{
--
2.21.0
next prev parent reply other threads:[~2020-07-09 9:56 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-07-09 9:49 [PATCH v5 0/8] Make fstests support new behavior of DAX Xiao Yang
2020-07-09 9:49 ` Xiao Yang [this message]
2020-07-14 7:23 ` [PATCH v5 1/8] common/rc: Introduce new helpers for DAX mount options and FS_XFLAG_DAX Xiao Yang
2020-07-09 9:49 ` [PATCH v5 2/8] fstests: Use _require_scratch_dax_mountopt() and _require_dax_iflag() Xiao Yang
2020-07-09 9:49 ` [PATCH v5 3/8] common/rc: Remove unused _require_scratch_dax() Xiao Yang
2020-07-09 9:49 ` [PATCH v5 4/8] generic/223: Don't clear all mkfs options for _scratch_mkfs_geom() roughly Xiao Yang
2020-07-09 9:49 ` [PATCH v5 5/8] generic/413, xfs/260: Improve format operation for PMD fault testing Xiao Yang
2020-07-09 9:49 ` [PATCH v5 6/8] xfs/260: Move and update xfs/260 Xiao Yang
2020-07-09 9:49 ` [PATCH v5 7/8] generic: Verify if statx() can qurey S_DAX flag on regular file correctly Xiao Yang
2020-07-09 9:49 ` [PATCH v5 8/8] generic: Verify the inheritance behavior of FS_XFLAG_DAX flag in various combinations 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=20200709094917.13923-2-yangx.jy@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).