summaryrefslogtreecommitdiffstats
path: root/etc
diff options
context:
space:
mode:
authordelphij <delphij@FreeBSD.org>2014-09-17 02:32:22 +0000
committerdelphij <delphij@FreeBSD.org>2014-09-17 02:32:22 +0000
commitf38530676caf0a6e9637453a93d886cd96f5c9ae (patch)
tree58786bc3c1dfc4c908ece1d82cc44b797fc8f4ec /etc
parent1642671ec5727db3d568e4db1c8e6b9fd2063208 (diff)
downloadFreeBSD-src-f38530676caf0a6e9637453a93d886cd96f5c9ae.zip
FreeBSD-src-f38530676caf0a6e9637453a93d886cd96f5c9ae.tar.gz
Use a devd event to start hv_kvpd instead of doing so in rc.d script.
This is cleaner and eliminates the unneeded startup of KVP daemon on systems that do not run as a Hyper-V guest. Submitted by: hrs X-MFC-with: 271493, 271688, 271699
Diffstat (limited to 'etc')
-rw-r--r--etc/defaults/rc.conf2
-rw-r--r--etc/devd/Makefile4
-rw-r--r--etc/devd/hyperv.conf19
-rw-r--r--etc/rc.d/Makefile5
-rw-r--r--etc/rc.d/hv_kvpd16
5 files changed, 23 insertions, 23 deletions
diff --git a/etc/defaults/rc.conf b/etc/defaults/rc.conf
index 5efe78b..b24e869 100644
--- a/etc/defaults/rc.conf
+++ b/etc/defaults/rc.conf
@@ -684,8 +684,6 @@ jail_enable="NO" # Set to NO to disable starting of any jails
jail_parallel_start="NO" # Start jails in the background
jail_list="" # Space separated list of names of jails
-hv_kvpd_enable="NO" # Start the Hyper-V key-value Pair Driver hv_kvp(4)
-
##############################################################
### Define source_rc_confs, the mechanism used by /etc/rc.* ##
### scripts to source rc_conf_files overrides safely. ##
diff --git a/etc/devd/Makefile b/etc/devd/Makefile
index 94cafdc..82a5000 100644
--- a/etc/devd/Makefile
+++ b/etc/devd/Makefile
@@ -18,6 +18,10 @@ FILES+= uath.conf usb.conf
FILES+= zfs.conf
.endif
+.if ${MK_HYPERV} != "no"
+FILES+= hyperv.conf
+.endif
+
NO_OBJ=
FILESDIR= /etc/devd
FILESMODE= 644
diff --git a/etc/devd/hyperv.conf b/etc/devd/hyperv.conf
new file mode 100644
index 0000000..8abafa9
--- /dev/null
+++ b/etc/devd/hyperv.conf
@@ -0,0 +1,19 @@
+# $FreeBSD$
+#
+# Hyper-V specific events
+
+notify 10 {
+ match "system" "DEVFS";
+ match "subsystem" "CDEV";
+ match "type" "CREATE";
+ match "cdev" "/dev/hv_kvp_dev";
+ action "/usr/sbin/hv_kvp_daemon";
+};
+
+notify 10 {
+ match "system" "DEVFS";
+ match "subsystem" "CDEV";
+ match "type" "DESTROY";
+ match "cdev" "/dev/hv_kvp_dev";
+ action "pkill -x hv_kvp_daemon";
+};
diff --git a/etc/rc.d/Makefile b/etc/rc.d/Makefile
index d0897e3..64e83ac 100644
--- a/etc/rc.d/Makefile
+++ b/etc/rc.d/Makefile
@@ -57,7 +57,6 @@ FILES= DAEMON \
hostid \
hostid_save \
hostname \
- ${_hv_kvpd} \
inetd \
initrandom \
ip6addrctl \
@@ -193,10 +192,6 @@ _ubthidhci= ubthidhci
_casperd= casperd
.endif
-.if ${MK_HYPERV} != "no"
-_hv_kvpd= hv_kvpd
-.endif
-
.if ${MK_UNBOUND} != "no"
_unbound= local_unbound
.endif
diff --git a/etc/rc.d/hv_kvpd b/etc/rc.d/hv_kvpd
deleted file mode 100644
index 164ec53..0000000
--- a/etc/rc.d/hv_kvpd
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/sh
-#
-# $FreeBSD$
-#
-
-# PROVIDE: hv_kvpd
-
-. /etc/rc.subr
-
-name="hv_kvp_daemon"
-rcvar="hv_kvpd_enable"
-command="/usr/sbin/${name}"
-required_dirs="/var/db/hyperv"
-
-load_rc_config $name
-run_rc_command "$1"
OpenPOWER on IntegriCloud