summaryrefslogtreecommitdiffstats
path: root/etc/rc.d
diff options
context:
space:
mode:
authorpjd <pjd@FreeBSD.org>2007-04-06 02:27:02 +0000
committerpjd <pjd@FreeBSD.org>2007-04-06 02:27:02 +0000
commit4474431c34b1973b89b02a02cd54a55ea97648aa (patch)
tree4ee993e86835d9121b6e14210c1db11b2324ba9d /etc/rc.d
parent170e632d642afcedd747a3c8bdf45f63d1a36f53 (diff)
downloadFreeBSD-src-4474431c34b1973b89b02a02cd54a55ea97648aa.zip
FreeBSD-src-4474431c34b1973b89b02a02cd54a55ea97648aa.tar.gz
- Add ZFS startup script.
Submitted by: des - When starting mountd(8) and ZFS is enabled, add /etc/zfs/exports file. - Update rc.conf(5).
Diffstat (limited to 'etc/rc.d')
-rwxr-xr-xetc/rc.d/Makefile3
-rwxr-xr-xetc/rc.d/mountd5
-rw-r--r--etc/rc.d/zfs33
3 files changed, 40 insertions, 1 deletions
diff --git a/etc/rc.d/Makefile b/etc/rc.d/Makefile
index aca2e20..ebc59a1 100755
--- a/etc/rc.d/Makefile
+++ b/etc/rc.d/Makefile
@@ -40,7 +40,8 @@ FILES= DAEMON FILESYSTEMS LOGIN NETWORKING SERVERS \
var virecover \
watchdogd wpa_supplicant \
ypbind yppasswdd ypserv \
- ypset ypupdated ypxfrd
+ ypset ypupdated ypxfrd \
+ zfs
.if ${MK_OPENSSH} != "no"
FILES+= sshd
diff --git a/etc/rc.d/mountd b/etc/rc.d/mountd
index 4389451..5edbb85 100755
--- a/etc/rc.d/mountd
+++ b/etc/rc.d/mountd
@@ -36,6 +36,11 @@ mountd_precmd()
checkyesno weak_mountd_authentication && rc_flags="-n"
fi
fi
+
+ if checkyesno zfs_enable ; then
+ rc_flags="${rc_flags} /etc/exports /etc/zfs/exports"
+ fi
+
rm -f /var/db/mountdtab
( umask 022 ; > /var/db/mountdtab )
return 0
diff --git a/etc/rc.d/zfs b/etc/rc.d/zfs
new file mode 100644
index 0000000..093f4c6
--- /dev/null
+++ b/etc/rc.d/zfs
@@ -0,0 +1,33 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+
+# PROVIDE: zfs
+# REQUIRE: mountcritlocal
+# KEYWORD: nojail shutdown
+
+. /etc/rc.subr
+
+name="zfs"
+rcvar="zfs_enable"
+start_cmd="zfs_start"
+stop_cmd="zfs_stop"
+required_modules="zfs"
+
+zfs_start()
+{
+ zfs mount -a
+ zfs volinit
+ zfs share -a
+}
+
+zfs_stop()
+{
+ zfs unshare -a
+ zfs volfini
+ zfs unmount -a
+}
+
+load_rc_config $name
+run_rc_command "$1"
OpenPOWER on IntegriCloud