From c8871ff784731f56bab58efe6077fff38fa74c5a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=BD=D0=B0=D0=B1?= Date: Thu, 21 Apr 2022 13:32:06 +0200 Subject: [PATCH] scripts: zfs.sh: explicitly unload all modules via rmmod MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit modprobe -r only works for depmodded modules, but this also means we have to re-iterate legacy modules, and in the right order Reviewed-by: Brian Atkinson Reviewed-by: Brian Behlendorf Signed-off-by: Ahelenia ZiemiaƄska Closes #13356 --- scripts/zfs.sh | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/scripts/zfs.sh b/scripts/zfs.sh index 16c7f8b8df4b..502c5430ab05 100755 --- a/scripts/zfs.sh +++ b/scripts/zfs.sh @@ -18,7 +18,7 @@ STACK_TRACER="no" ZED_PIDFILE=${ZED_PIDFILE:-/var/run/zed.pid} LDMOD=${LDMOD:-/sbin/modprobe} -DELMOD=${DELMOD:-/sbin/modprobe -r} +DELMOD=${DELMOD:-/sbin/rmmod} KMOD_ZLIB_DEFLATE=${KMOD_ZLIB_DEFLATE:-zlib_deflate} KMOD_ZLIB_INFLATE=${KMOD_ZLIB_INFLATE:-zlib_inflate} @@ -162,9 +162,12 @@ unload_modules_freebsd() { } unload_modules_linux() { - NAME="${KMOD_ZFS##*/}" - NAME="${NAME%.ko}" - ! [ -d "/sys/module/$NAME" ] || $DELMOD "$NAME" || return + legacy_kmods="icp zzstd zlua zcommon zunicode znvpair zavl" + for KMOD in "$KMOD_ZFS" $legacy_kmods "$KMOD_SPL"; do + NAME="${KMOD##*/}" + NAME="${NAME%.ko}" + ! [ -d "/sys/module/$NAME" ] || $DELMOD "$NAME" || return + done if [ "$VERBOSE" = "yes" ]; then echo "Successfully unloaded ZFS module stack"