aboutsummaryrefslogtreecommitdiff
path: root/net/nbd/files
diff options
context:
space:
mode:
authorMarcin Jurkowski <marcin1j@gmail.com>2015-09-02 00:12:24 +0200
committerMarcin Jurkowski <marcin1j@gmail.com>2015-09-02 12:48:43 +0200
commit5ba490239a18ccd483c5462b61f0277d0572ffd0 (patch)
treeb51079f96f55fe691119d5be83a57be3e74d02bb /net/nbd/files
parent6bb198c646a6ef053fa59668ee3dfe98c743f839 (diff)
nbd: use procd style init script for nbd-server
Runs nbd-server in foreground. Signed-off-by: Marcin Jurkowski <marcin1j@gmail.com>
Diffstat (limited to 'net/nbd/files')
-rw-r--r--net/nbd/files/nbd-server.init40
1 files changed, 22 insertions, 18 deletions
diff --git a/net/nbd/files/nbd-server.init b/net/nbd/files/nbd-server.init
index 7759219a8..ae3db2460 100644
--- a/net/nbd/files/nbd-server.init
+++ b/net/nbd/files/nbd-server.init
@@ -1,9 +1,11 @@
#!/bin/sh /etc/rc.common
-# Copyright (C) 2012 OpenWrt.org
+# Copyright (C) 2015 OpenWrt.org
START=60
-SERVICE_USE_PID=1
+STOP=40
+USE_PROCD=1
+PROG=/usr/bin/nbd-server
CONFIGFILE="/var/etc/nbd-server.conf"
@@ -81,28 +83,30 @@ config_handle_share() {
append_val_str listenaddr "$cfg" oldstyle_listenaddr
}
-config_read() {
+start_instance() {
+ local cfg="$1"
+ local enabled
- mkdir -p $(dirname $CONFIGFILE)
- echo -n > $CONFIGFILE
+ config_get_bool enabled "$cfg" 'enabled' '0'
+ [ "$enabled" = 0 ] && return 1
+
+ procd_open_instance
+ procd_set_param command $PROG --config-file=$CONFIGFILE
+ procd_set_param file $CONFIGFILE
+ procd_close_instance
+}
+start_service() {
config_load nbd-server
+
+ mkdir -p $(dirname $CONFIGFILE)
+ echo "# auto-generated config file from /etc/config/nbd-server" > $CONFIGFILE
config_foreach config_handle_generic nbd-server
config_foreach config_handle_share share
-}
-
-start() {
- config_read
- if [ "$SERVICE_ENABLED" = "1" ]; then
- service_start /usr/bin/nbd-server \
- --pid-file /var/run/nbd-server.pid \
- --config-file=$CONFIGFILE
- fi
+ config_foreach start_instance nbd-server
}
-stop() {
- service_stop /usr/bin/nbd-server
+service_triggers() {
+ procd_add_reload_trigger "nbd-server"
}
-
-