Disable nbmand tests on kernels w/o support
This change allows mountpoint_003_pos and send-c_props to run on Linux kernels that do not support mandatory locking. Linux kernel versions greater than or equal to 4.4 no longer support mandatory locking and the test suite will now account for that. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Tony Hutter <hutter2@llnl.gov> Reviewed-by: George Melikov <mail@gmelikov.ru> Signed-off-by: Giuseppe Di Natale <dinatale2@llnl.gov> Closes #6346 Closes #6347 Closes #6362
This commit is contained in:
parent
c89a02a26a
commit
0c656a964d
@ -40,6 +40,29 @@ if [ -n "$STF_PATH" ]; then
|
||||
PATH="$STF_PATH"
|
||||
fi
|
||||
|
||||
# Linux kernel version comparison function
|
||||
#
|
||||
# $1 Linux version ("4.10", "2.6.32") or blank for installed Linux version
|
||||
#
|
||||
# Used for comparison: if [ $(linux_version) -ge $(linux_version "2.6.32") ]
|
||||
#
|
||||
function linux_version
|
||||
{
|
||||
typeset ver="$1"
|
||||
|
||||
[[ -z "$ver" ]] && ver=$(uname -r | grep -Eo "^[0-9]+\.[0-9]+\.[0-9]+")
|
||||
|
||||
typeset version=$(echo $ver | cut -d '.' -f 1)
|
||||
typeset major=$(echo $ver | cut -d '.' -f 2)
|
||||
typeset minor=$(echo $ver | cut -d '.' -f 3)
|
||||
|
||||
[[ -z "$version" ]] && version=0
|
||||
[[ -z "$major" ]] && major=0
|
||||
[[ -z "$minor" ]] && minor=0
|
||||
|
||||
echo $((version * 10000 + major * 100 + minor))
|
||||
}
|
||||
|
||||
# Determine if this is a Linux test system
|
||||
#
|
||||
# Return 0 if platform Linux, 1 if otherwise
|
||||
|
@ -91,8 +91,17 @@ function get_rand_large_recsize
|
||||
#
|
||||
# Functions to toggle on/off properties
|
||||
#
|
||||
typeset -a binary_props=('atime' 'devices' 'exec' 'nbmand' 'readonly' 'setuid'
|
||||
'xattr' 'zoned')
|
||||
typeset -a binary_props=('atime' 'devices' 'exec' 'readonly' 'setuid' 'xattr'
|
||||
'zoned')
|
||||
|
||||
if is_linux; then
|
||||
# Only older kernels support non-blocking mandatory locks
|
||||
if [[ $(linux_version) -lt $(linux_version "4.4") ]]; then
|
||||
binary_props+=('nbmand')
|
||||
fi
|
||||
else
|
||||
binary_props+=('nbmand')
|
||||
fi
|
||||
|
||||
function toggle_prop
|
||||
{
|
||||
|
@ -67,11 +67,15 @@ if is_linux; then
|
||||
set -A args \
|
||||
"nodev" "dev" \
|
||||
"noexec" "exec" \
|
||||
"mand" "nomand" \
|
||||
"ro" "rw" \
|
||||
"nosuid" "suid" \
|
||||
"xattr" "noxattr" \
|
||||
"atime" "noatime"
|
||||
|
||||
# Only older kernels support non-blocking mandatory locks
|
||||
if [[ $(linux_version) -lt $(linux_version "4.4") ]]; then
|
||||
args+=("mand" "nomand")
|
||||
fi
|
||||
else
|
||||
set -A args \
|
||||
"devices" "/devices/" "nodevices" "/nodevices/" \
|
||||
|
Loading…
Reference in New Issue
Block a user