Explorar o código

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>
Jan Friesse %!s(int64=15) %!d(string=hai) anos
pai
achega
fbbb3f01cb
Modificáronse 1 ficheiros con 13 adicións e 0 borrados
  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