diff mbox series

[v3,2/2] common/rc: Update _exclude_scratch_mount_option() and _require_dm_target() for new dax option

Message ID 20200810162909.26665-2-yangx.jy@cn.fujitsu.com (mailing list archive)
State New, archived
Headers show
Series [v3,1/2] common/dmlogwrites: Update _require_log_writes_dax() for new dax option | expand

Commit Message

Xiao Yang Aug. 10, 2020, 4:29 p.m. UTC
Some tests(e.g. ext4/035) cannot include dax option(dax=inode/dax=never
is OK) so make _exclude_scratch_mount_option() and _require_dm_target()
check if old dax or new dax=always option is not defined in $MOUNT_OPTIONS.

Signed-off-by: Xiao Yang <yangx.jy@cn.fujitsu.com>
Reviewed-by: Ira Weiny <ira.weiny@intel.com>
---

V2->V3:
Update comments and set pattern variable in while().

 common/rc | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)
diff mbox series

Patch

diff --git a/common/rc b/common/rc
index 062eb6ba..aa5a7409 100644
--- a/common/rc
+++ b/common/rc
@@ -1896,7 +1896,7 @@  _require_dm_target()
 	_require_sane_bdev_flush $SCRATCH_DEV
 	_require_command "$DMSETUP_PROG" dmsetup
 
-	echo $MOUNT_OPTIONS | grep -q dax
+	_normalize_mount_options | egrep -q "dax(=always| |$)"
 	if [ $? -eq 0 ]; then
 		case $target in
 		stripe|linear|log-writes)
@@ -3483,12 +3483,16 @@  _normalize_mount_options()
 }
 
 # skip test if MOUNT_OPTIONS contains the given strings
+# Both dax and dax=always are excluded if dax or dax=always is passed
 _exclude_scratch_mount_option()
 {
 	local mnt_opts=$(_normalize_mount_options)
 
 	while [ $# -gt 0 ]; do
-		if echo $mnt_opts | grep -qw "$1"; then
+		local pattern=$1
+		echo "$pattern" | egrep -q "dax(=always|$)" && \
+			pattern="dax(=always| |$)"
+		if echo $mnt_opts | egrep -q "$pattern"; then
 			_notrun "mount option \"$1\" not allowed in this test"
 		fi
 		shift