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