Linux 7.0: explicitly set setlease handler to kernel implementation

The upcoming 7.0 kernel will no longer fall back to generic_setlease(),
instead returning EINVAL if .setlease is NULL. So, we set it explicitly.

To ensure that we catch any future kernel change, adds a sanity test for
F_SETLEASE and F_GETLEASE too. Since this is a Linux-specific test,
also a small adjustment to the test runner to allow OS-specific helper
programs.

Sponsored-by: TrueNAS
Reviewed-by: Tony Hutter <hutter2@llnl.gov>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Rob Norris <rob.norris@truenas.com>
Closes #18215
This commit is contained in:
Rob Norris
2026-02-23 06:39:06 +11:00
committed by GitHub
parent d11c661544
commit 168023b603
13 changed files with 275 additions and 7 deletions
+10 -6
View File
@@ -294,6 +294,16 @@ constrain_path() {
SYSTEM_DIRS="/usr/local/bin /usr/local/sbin"
SYSTEM_DIRS="$SYSTEM_DIRS /usr/bin /usr/sbin /bin /sbin $LIBEXEC_DIR"
SYSTEM_FILES="$SYSTEM_FILES_COMMON"
ZFSTEST_FILES="$ZFSTEST_FILES_COMMON"
if [ "$UNAME" = "FreeBSD" ] ; then
SYSTEM_FILES="$SYSTEM_FILES $SYSTEM_FILES_FREEBSD"
ZFSTEST_FILES="$ZFSTEST_FILES $ZFSTEST_FILES_FREEBSD"
else
SYSTEM_FILES="$SYSTEM_FILES $SYSTEM_FILES_LINUX"
ZFSTEST_FILES="$ZFSTEST_FILES $ZFSTEST_FILES_LINUX"
fi
if [ "$INTREE" = "yes" ]; then
# Constrained path set to $(top_builddir)/tests/zfs-tests/bin
STF_PATH="$BIN_DIR"
@@ -326,12 +336,6 @@ constrain_path() {
fi
# Standard system utilities
SYSTEM_FILES="$SYSTEM_FILES_COMMON"
if [ "$UNAME" = "FreeBSD" ] ; then
SYSTEM_FILES="$SYSTEM_FILES $SYSTEM_FILES_FREEBSD"
else
SYSTEM_FILES="$SYSTEM_FILES $SYSTEM_FILES_LINUX"
fi
create_links "$SYSTEM_DIRS" "$SYSTEM_FILES"
# Exceptions