diff options
Diffstat (limited to 'etc')
-rw-r--r-- | etc/init.d/zfs-functions.in | 10 | ||||
-rwxr-xr-x | etc/init.d/zfs-import.in | 6 | ||||
-rwxr-xr-x | etc/init.d/zfs-mount.in | 4 | ||||
-rwxr-xr-x | etc/init.d/zfs-share.in | 4 | ||||
-rwxr-xr-x | etc/init.d/zfs-zed.in | 8 |
5 files changed, 18 insertions, 14 deletions
diff --git a/etc/init.d/zfs-functions.in b/etc/init.d/zfs-functions.in index a2204c157..68cb1bb52 100644 --- a/etc/init.d/zfs-functions.in +++ b/etc/init.d/zfs-functions.in @@ -312,14 +312,18 @@ get_root_pool() check_module_loaded() { - [ -r /sys/module/zfs/version ] && return 0 || return 1 + module="$1" + + [ -r "/sys/module/${module}/version" ] && return 0 || return 1 } load_module() { + module="$1" + # Load the zfs module stack - if ! check_module_loaded; then - if ! modprobe zfs; then + if ! check_module_loaded "$module"; then + if ! /sbin/modprobe "$module"; then return 5 fi fi diff --git a/etc/init.d/zfs-import.in b/etc/init.d/zfs-import.in index fed364a60..b02d8a92c 100755 --- a/etc/init.d/zfs-import.in +++ b/etc/init.d/zfs-import.in @@ -277,7 +277,7 @@ do_export() # Output the status and list of pools do_status() { - check_module_loaded || exit 0 + check_module_loaded "zfs" || exit 0 "$ZPOOL" status && echo "" && "$ZPOOL" list } @@ -298,7 +298,7 @@ do_start() zfs_log_begin_msg "Loading kernel ZFS infrastructure" fi - if ! load_module + if ! load_module "zfs" then [ "$VERBOSE_MOUNT" = 'yes' ] && zfs_log_end_msg 1 return 5 @@ -316,7 +316,7 @@ do_start() do_stop() { # Check to see if the module is even loaded. - check_module_loaded || exit 0 + check_module_loaded "zfs" || exit 0 do_export } diff --git a/etc/init.d/zfs-mount.in b/etc/init.d/zfs-mount.in index e26813d90..3be3d7b13 100755 --- a/etc/init.d/zfs-mount.in +++ b/etc/init.d/zfs-mount.in @@ -163,7 +163,7 @@ do_unmount() do_start() { - check_module_loaded || exit 0 + check_module_loaded "zfs" || exit 0 case "$ZFS_MOUNT" in [Oo][Ff][Ff]|[Nn][Oo]|''|0) @@ -189,7 +189,7 @@ do_stop() ;; esac - check_module_loaded || exit 0 + check_module_loaded "zfs" || exit 0 do_unmount } diff --git a/etc/init.d/zfs-share.in b/etc/init.d/zfs-share.in index 70439151b..b2f8e773e 100755 --- a/etc/init.d/zfs-share.in +++ b/etc/init.d/zfs-share.in @@ -46,7 +46,7 @@ do_start() ;; esac - check_module_loaded || exit 0 + check_module_loaded "zfs" || exit 0 zfs_action "Sharing ZFS filesystems" "$ZFS" share -a } @@ -59,7 +59,7 @@ do_stop() ;; esac - check_module_loaded || exit 0 + check_module_loaded "zfs" || exit 0 zfs_action "Unsharing ZFS filesystems" "$ZFS" unshare -a } diff --git a/etc/init.d/zfs-zed.in b/etc/init.d/zfs-zed.in index 1458387f5..9fa243f8f 100755 --- a/etc/init.d/zfs-zed.in +++ b/etc/init.d/zfs-zed.in @@ -60,7 +60,7 @@ do_depend() do_start() { - check_module_loaded || exit 0 + check_module_loaded "zfs" || exit 0 ZED_ARGS="$ZED_ARGS -p $ZED_PIDFILE" @@ -72,7 +72,7 @@ do_start() do_stop() { local pools RET - check_module_loaded || exit 0 + check_module_loaded "zfs" || exit 0 zfs_action "Stopping ZFS Event Daemon" zfs_daemon_stop \ "$ZED_PIDFILE" "$ZED" "$ZED_NAME" @@ -95,7 +95,7 @@ do_stop() do_status() { - check_module_loaded || exit 0 + check_module_loaded "zfs" || exit 0 zfs_daemon_status "$ZED_PIDFILE" "$ZED" "$ZED_NAME" return "$?" @@ -103,7 +103,7 @@ do_status() do_reload() { - check_module_loaded || exit 0 + check_module_loaded "zfs" || exit 0 zfs_action "Reloading ZFS Event Daemon" zfs_daemon_reload \ "$ZED_PIDFILE" "$ZED_NAME" |