mirror of
https://github.com/linux-apfs/apfstests.git
synced 2026-05-01 15:01:44 -07:00
common/rc: Enhance _exclude_scratch_mount_option to handle multiple options
Enhance _exclude_scratch_mount_option() function to normalize mount options. Now it can understand and extract real mount option from string like "-o opt1,opt2 -oopt3". And now we do word grep to handle mount options like noinode_cache and inode_cache. Finally, allow it to accept multiple options at the same time. No need for multiple _exclude_scratch_mount_option lines now Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com> Reviewed-by: Eryu Guan <eguan@redhat.com> Signed-off-by: Eryu Guan <eguan@redhat.com>
This commit is contained in:
@@ -3192,12 +3192,25 @@ _require_cloner()
|
||||
_notrun "cloner binary not present at $CLONER_PROG"
|
||||
}
|
||||
|
||||
# skip test if MKFS_OPTIONS contains the given string
|
||||
# Normalize mount options from global $MOUNT_OPTIONS
|
||||
# Convert options like "-o opt1,opt2 -oopt3" to
|
||||
# "opt1 opt2 opt3"
|
||||
_normalize_mount_options()
|
||||
{
|
||||
echo $MOUNT_OPTIONS | sed -n 's/-o\s*\(\S*\)/\1/gp'| sed 's/,/ /g'
|
||||
}
|
||||
|
||||
# skip test if MOUNT_OPTIONS contains the given strings
|
||||
_exclude_scratch_mount_option()
|
||||
{
|
||||
if echo $MOUNT_OPTIONS | grep -q "$1"; then
|
||||
local mnt_opts=$(_normalize_mount_options)
|
||||
|
||||
while [ $# -gt 0 ]; do
|
||||
if echo $mnt_opts | grep -qw "$1"; then
|
||||
_notrun "mount option \"$1\" not allowed in this test"
|
||||
fi
|
||||
shift
|
||||
done
|
||||
}
|
||||
|
||||
_require_atime()
|
||||
|
||||
+2
-4
@@ -41,10 +41,8 @@ _supported_os Linux
|
||||
_require_scratch
|
||||
# this test needs no journal to be loaded, skip on journal related mount
|
||||
# options, otherwise mount would fail with "-o noload" mount option
|
||||
_exclude_scratch_mount_option "data="
|
||||
_exclude_scratch_mount_option "commit="
|
||||
_exclude_scratch_mount_option "journal_checksum"
|
||||
_exclude_scratch_mount_option "journal_async_commit"
|
||||
_exclude_scratch_mount_option "data" "commit" "journal_checksum" \
|
||||
"journal_async_commit"
|
||||
|
||||
rm -f $seqres.full
|
||||
_scratch_mkfs_sized $((128 * 1024 * 1024)) >> $seqres.full 2>&1
|
||||
|
||||
+1
-2
@@ -51,8 +51,7 @@ _supported_os Linux IRIX
|
||||
_require_test
|
||||
_require_xfs_quota
|
||||
# we can't run with group quotas
|
||||
_exclude_scratch_mount_option "gquota"
|
||||
_exclude_scratch_mount_option "grpquota"
|
||||
_exclude_scratch_mount_option "gquota" "grpquota"
|
||||
|
||||
dir=$SCRATCH_MNT/project
|
||||
|
||||
|
||||
Reference in New Issue
Block a user