Преглед изворни кода

Handle "nocluster" kernel parameter in init script

Init script checks kernel parameters and refuses to start corosync if
nocluster parameter exist on boot time. The init script will
continue to work as expected from console/tty after boot.

Signed-off-by: Jan Friesse <jfriesse@redhat.com>
Reviewed-by: Steven Dake <sdake@redhat.com>
(cherry picked from commit fbbb3f01cbb7b5a6a105dbc4fe1541ca8bdb5e4d)
Jan Friesse пре 15 година
родитељ
комит
7e02f031df
1 измењених фајлова са 13 додато и 0 уклоњено
  1. 13 0
      init/generic.in

+ 13 - 0
init/generic.in

@@ -70,10 +70,23 @@ __pids_pidof() {
                 pidof -c -o $$ -o $PPID -o %PPID "${1##*/}"
 }
 
+cluster_disabled_at_boot()
+{
+       if grep -q nocluster /proc/cmdline && \
+          [ "$(tty)" = "/dev/console" ]; then
+               echo -e "not configured to run at boot"
+               failure
+               return 1
+       fi
+       return 0
+}
+
 start()
 {
 	echo -n "Starting $desc ($prog): "
 
+	! cluster_disabled_at_boot && return
+
 	# most recent distributions use tmpfs for @LOCALSTATEDIR@/run
 	# to avoid to clean it up on every boot.
 	# they also assume that init scripts will create