common/rc: Update _exclude_scratch_mount_option() and _require_dm_target() for new dax option

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>
Signed-off-by: Eryu Guan <guaneryu@gmail.com>
This commit is contained in:
Xiao Yang
2020-08-11 00:29:09 +08:00
committed by Eryu Guan
parent 10c189c7e7
commit 8b0e342dac
+6 -2
View File
@@ -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