]> git.proxmox.com Git - pve-sheepdog.git/commitdiff
new init.d script, now scans /var/lib/sheepdog/disk[0-9]/startup
authorDietmar Maurer <dietmar@proxmox.com>
Mon, 23 Jul 2012 12:21:57 +0000 (14:21 +0200)
committerDietmar Maurer <dietmar@proxmox.com>
Mon, 23 Jul 2012 12:23:45 +0000 (14:23 +0200)
revert previous commit (new option -i)

Makefile
debian/changelog
debian/patches/series
debian/pve-sheepdog.sheepdog.default
debian/pve-sheepdog.sheepdog.init.d
sheepdog-0.4.0.tar.gz

index c9dccaa004ff7a861bd8ef28ace209821d9a7c34..bb551e2fdcdf56ca249d6b56ca509aa9bd3d9666 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,7 @@
 RELEASE=2.1
 
 PACKAGE=pve-sheepdog
-PKGREL=5
+PKGREL=6
 SDVER=0.4.0
 
 DEB=${PACKAGE}_${SDVER}-${PKGREL}_amd64.deb
index 755ea1d1c3b71b0217854d71603f96ff95d05075..7a4be51f980d2385961e02938c1abbe8e45fcb38 100644 (file)
@@ -1,3 +1,9 @@
+pve-sheepdog (0.4.0-6) unstable; urgency=low
+
+  * new init.d script, now scans /var/lib/sheepdog/disk[0-9]/startup
+
+ -- Proxmox Support Team <support@proxmox.com>  Mon, 23 Jul 2012 14:21:41 +0200
+
 pve-sheepdog (0.4.0-5) unstable; urgency=low
 
   * introduce new sheep -i option to prevent users from using wrong
index 09dd53f2afad8eca7e1adbc23fbf0790b6e57316..a2688ed3a0011351ade193bf3e95a46f32709d4d 100644 (file)
@@ -1,4 +1,3 @@
 disable-test-suite.patch
 do-not-install-generic-init-script.patch
 simplify-log-rotation.patch
-new-option-i-to-initialize-storage-directory.patch
index 8909f565514b07d490c2802abf7b34776f7b585e..c66a0010750fbb2d1f8effce09193e6c22cd49cf 100644 (file)
@@ -1,16 +1,6 @@
 # Defaults for pve-sheepdog initscript
 # sourced by /etc/init.d/pve-sheepdog
-# installed at /etc/default/pve-sheepdog by the maintainer scripts
 
 # start sheepdog at boot [yes|no]
 START=yes
 
-#
-# This is a POSIX shell fragment
-#
-
-#SHEEPDOG_START_SEQUENCE="_1 _2"
-#SHEEPDOG_DEAMON_ARGS_1="-p 7000 -v 32 -z 1"
-#SHEEPDOG_DEAMON_ARGS_2="-p 7001 -v 32 -z 1"
-#SHEEPDOG_PATH_1="/var/lib/sheepdog/disc1"
-#SHEEPDOG_PATH_2="/var/lib/sheepdog/disc2"
index 85ad3434a7dc0ce24ab7ac75fd89e96d0a203f99..386f639e56e649c011fae30d14de3f5ae7a1beb4 100644 (file)
@@ -21,10 +21,11 @@ SCRIPTNAME=/etc/init.d/$NAME
 # Exit if the package is not installed
 [ -x $DAEMON ] || exit 0
 
-# Defaults
-SHEEPDOG_START_SEQUENCE="_1"
-SHEEPDOG_DEAMON_ARGS_1=""
-SHEEPDOG_PATH_1="/var/lib/sheepdog/disc1"
+DISKLIST=$(echo /var/lib/sheepdog/disc[0123456789])
+RDISKLIST=
+for dir in ${DISKLIST}; do
+    RDISKLIST="${dir} ${RDISKLIST}"
+done
 
 # Read configuration variable file if it is present
 [ -r /etc/default/$NAME ] && . /etc/default/$NAME
@@ -47,16 +48,20 @@ do_start()
        #   1 if daemon was already running
        #   2 if daemon could not be started
 
-       for SHEEP in $SHEEPDOG_START_SEQUENCE; do
-               eval DAEMON_ARGS=\$SHEEPDOG_DEAMON_ARGS$SHEEP
-               eval SHEEPDOG_PATH=\$SHEEPDOG_PATH$SHEEP
-               eval PIDFILE=/var/run/$NAME$SHEEP.pid
+       for dir in ${DISKLIST}; do
+           test -f "${dir}/startup" || continue
+           DAEMON_ARGS=$(head -n1 "${dir}/startup");
+           DISKID=${dir##/var/lib/sheepdog/disc}
+           PIDFILE="$dir/sheep.pid"
+           DAEMON_ARGS="${DAEMON_ARGS} --pidfile ${PIDFILE}"
+           if ! test "$(echo ${DAEMON_ARGS}|grep -c '\-p ')" -eq 1 ; then
+               DAEMON_ARGS="${DAEMON_ARGS} -p $((7000 + ${DISKID}))"
+           fi
 
-               mkdir -p $SHEEPDOG_PATH
+           status_of_proc -p ${PIDFILE} $DAEMON "$NAME" >/dev/null && continue
 
-               status_of_proc -p ${PIDFILE} $DAEMON "$NAME" >/dev/null && continue
-
-               start-stop-daemon --start --quiet --pidfile ${PIDFILE} --exec $DAEMON -- --pidfile ${PIDFILE} $DAEMON_ARGS $SHEEPDOG_PATH || return 2
+           start-stop-daemon --start --quiet --pidfile ${PIDFILE} --exec $DAEMON -- $DAEMON_ARGS ${dir} || return 2
+           sleep 1
        done
 
        return 0
@@ -74,11 +79,11 @@ do_stop()
        #   other if a failure occurred
 
        RETVAL=0
-       for SHEEP in $SHEEPDOG_START_SEQUENCE; do
-               eval DAEMON_ARGS=\$SHEEPDOG_DEAMON_ARGS$SHEEP
-               eval SHEEPDOG_PATH=\$SHEEPDOG_PATH$SHEEP
-               eval PIDFILE=/var/run/$NAME$SHEEP.pid
-               start-stop-daemon --stop --oknodo --retry=TERM/20/KILL/5 --quiet --pidfile ${PIDFILE} --exec $DAEMON || RETVAL=2
+       for dir in ${RDISKLIST}; do
+           test -f "${dir}/startup" || continue
+           PIDFILE="$dir/sheep.pid"
+           start-stop-daemon --stop --oknodo --retry=TERM/20/KILL/5 --quiet --pidfile ${PIDFILE} --exec $DAEMON || RETVAL=2
+           sleep 1
        done
 
        return "$RETVAL"
@@ -104,11 +109,10 @@ case "$1" in
        ;;
     status)
        RETVAL=0
-       for SHEEP in $SHEEPDOG_START_SEQUENCE; do
-               eval DAEMON_ARGS=\$SHEEPDOG_DEAMON_ARGS$SHEEP
-               eval SHEEPDOG_PATH=\$SHEEPDOG_PATH$SHEEP
-               eval PIDFILE=/var/run/$NAME$SHEEP.pid
-               status_of_proc -p ${PIDFILE} $DAEMON "$NAME${SHEEP}" || RETVAL=1
+       for dir in ${DISKLIST}; do
+           test -f "${dir}/startup" || continue
+           PIDFILE="$dir/sheep.pid"
+           status_of_proc -p ${PIDFILE} $DAEMON "$NAME ${dir}" || RETVAL=1
        done
        exit $RETVAL
        ;;
index 0e4c83575f3f199b1d3962e0c344239cdd51d7e3..0fb6ae16718f0d2033ff37430a00d34bb1f4e591 100644 (file)
Binary files a/sheepdog-0.4.0.tar.gz and b/sheepdog-0.4.0.tar.gz differ