1eda14cbcSMatt Macy#!@DEFAULT_INIT_SHELL@ 2e92ffd9bSMartin Matuska# shellcheck disable=SC2154 3eda14cbcSMatt Macy# 4eda14cbcSMatt Macy# zfs-share This script will network share zfs filesystems and volumes. 5eda14cbcSMatt Macy# 6eda14cbcSMatt Macy# chkconfig: 2345 30 99 7eda14cbcSMatt Macy# description: Run the `zfs share -a` or `zfs unshare -a` commands 8eda14cbcSMatt Macy# for controlling iSCSI, NFS, or CIFS network shares. 9eda14cbcSMatt Macy# probe: true 10eda14cbcSMatt Macy# 11eda14cbcSMatt Macy### BEGIN INIT INFO 12eda14cbcSMatt Macy# Provides: zfs-share 13eda14cbcSMatt Macy# Required-Start: $local_fs $network $remote_fs zfs-mount 14eda14cbcSMatt Macy# Required-Stop: $local_fs $network $remote_fs zfs-mount 15eda14cbcSMatt Macy# Default-Start: 2 3 4 5 16eda14cbcSMatt Macy# Default-Stop: 0 1 6 17eda14cbcSMatt Macy# Should-Start: iscsi iscsitarget istgt scst @DEFAULT_INIT_NFS_SERVER@ samba samba4 zfs-mount zfs-zed 18eda14cbcSMatt Macy# Should-Stop: iscsi iscsitarget istgt scst @DEFAULT_INIT_NFS_SERVER@ samba samba4 zfs-mount zfs-zed 19eda14cbcSMatt Macy# Short-Description: Network share ZFS datasets and volumes. 20eda14cbcSMatt Macy# Description: Run the `zfs share -a` or `zfs unshare -a` commands 21eda14cbcSMatt Macy# for controlling iSCSI, NFS, or CIFS network shares. 22eda14cbcSMatt Macy### END INIT INFO 23eda14cbcSMatt Macy# 24eda14cbcSMatt Macy# Released under the 2-clause BSD license. 25eda14cbcSMatt Macy# 2616038816SMartin Matuska# This script is based on debian/zfsutils.zfs.init from the 2716038816SMartin Matuska# Debian GNU/kFreeBSD zfsutils 8.1-3 package, written by Aurelien Jarno. 28eda14cbcSMatt Macy 29eda14cbcSMatt Macy# Source the common init script 30eda14cbcSMatt Macy. @sysconfdir@/zfs/zfs-functions 31eda14cbcSMatt Macy 32eda14cbcSMatt Macy# ---------------------------------------------------- 33eda14cbcSMatt Macy 34eda14cbcSMatt Macydo_depend() 35eda14cbcSMatt Macy{ 36eda14cbcSMatt Macy after sysfs zfs-mount zfs-zed 37eda14cbcSMatt Macy keyword -lxc -openvz -prefix -vserver 38eda14cbcSMatt Macy} 39eda14cbcSMatt Macy 40eda14cbcSMatt Macydo_start() 41eda14cbcSMatt Macy{ 42eda14cbcSMatt Macy check_boolean "$ZFS_SHARE" || exit 0 43eda14cbcSMatt Macy 44eda14cbcSMatt Macy check_module_loaded "zfs" || exit 0 45eda14cbcSMatt Macy 46eda14cbcSMatt Macy zfs_action "Sharing ZFS filesystems" "$ZFS" share -a 47eda14cbcSMatt Macy} 48eda14cbcSMatt Macy 49eda14cbcSMatt Macydo_stop() 50eda14cbcSMatt Macy{ 51eda14cbcSMatt Macy check_boolean "$ZFS_UNSHARE" || exit 0 52eda14cbcSMatt Macy 53eda14cbcSMatt Macy check_module_loaded "zfs" || exit 0 54eda14cbcSMatt Macy 55eda14cbcSMatt Macy zfs_action "Unsharing ZFS filesystems" "$ZFS" unshare -a 56eda14cbcSMatt Macy} 57eda14cbcSMatt Macy 58eda14cbcSMatt Macy# ---------------------------------------------------- 59eda14cbcSMatt Macy 60*1719886fSMartin Matuskaif @IS_SYSV_RC@ 61*1719886fSMartin Matuskathen 62eda14cbcSMatt Macy case "$1" in 63eda14cbcSMatt Macy start) 64eda14cbcSMatt Macy do_start 65eda14cbcSMatt Macy ;; 66eda14cbcSMatt Macy stop) 67eda14cbcSMatt Macy do_stop 68eda14cbcSMatt Macy ;; 69eda14cbcSMatt Macy force-reload|reload|restart|status) 70eda14cbcSMatt Macy # no-op 71eda14cbcSMatt Macy ;; 72eda14cbcSMatt Macy *) 73eda14cbcSMatt Macy [ -n "$1" ] && echo "Error: Unknown command $1." 74eda14cbcSMatt Macy echo "Usage: $0 {start|stop}" 75eda14cbcSMatt Macy exit 3 76eda14cbcSMatt Macy ;; 77eda14cbcSMatt Macy esac 78eda14cbcSMatt Macy 79eda14cbcSMatt Macy exit $? 80eda14cbcSMatt Macyelse 81eda14cbcSMatt Macy # Create wrapper functions since Gentoo don't use the case part. 82eda14cbcSMatt Macy depend() { do_depend; } 83eda14cbcSMatt Macy start() { do_start; } 84eda14cbcSMatt Macy stop() { do_stop; } 85eda14cbcSMatt Macyfi 86