diff -ur LVM2.2.02.162.orig/scripts/blk_availability_init_red_hat.in LVM2.2.02.162/scripts/blk_availability_init_red_hat.in --- LVM2.2.02.162.orig/scripts/blk_availability_init_red_hat.in 2016-07-28 18:50:18.000000000 +0000 +++ LVM2.2.02.162/scripts/blk_availability_init_red_hat.in 2016-08-04 16:26:04.886554000 +0000 @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/sh # # Copyright (C) 2012 Red Hat, Inc. All rights reserved. # @@ -31,28 +31,26 @@ . /etc/init.d/functions -sbindir=@sbindir@ -script=blkdeactivate -options="-u -l wholevg -m disablequeueing" +DAEMON="blkdeactivate" +OPTIONS="-u -l wholevg -m disablequeueing" LOCK_FILE="/var/lock/subsys/blk-availability" - -rtrn=1 - case "$1" in start) touch $LOCK_FILE + exit 0 ;; - stop) - action "Stopping block device availability:" $sbindir/$script $options + run_cmd "Stopping block device availability:" /sbin/$DAEMON $OPTIONS rm -f $LOCK_FILE + exit 0 ;; - status) + exit 0 ;; *) - echo $"Usage: $0 {start|stop|status}" + msg_usage "$0 {start|stop|status}" + exit 3 ;; esac diff -ur LVM2.2.02.162.orig/scripts/clvmd_init_red_hat.in LVM2.2.02.162/scripts/clvmd_init_red_hat.in --- LVM2.2.02.162.orig/scripts/clvmd_init_red_hat.in 2016-07-28 18:50:18.000000000 +0000 +++ LVM2.2.02.162/scripts/clvmd_init_red_hat.in 2016-08-04 16:22:09.076554000 +0000 @@ -18,15 +18,12 @@ . /etc/rc.d/init.d/functions -DAEMON=clvmd +DAEMON="clvmd" -exec_prefix=@exec_prefix@ -sbindir=@sbindir@ - -lvm_vgchange=${sbindir}/vgchange -lvm_vgs=${sbindir}/vgs -lvm_vgscan=${sbindir}/vgscan -lvm_lvs=${sbindir}/lvs +lvm_vgchange="/sbin/vgchange" +lvm_vgs="/sbin/vgs" +lvm_vgscan="/sbin/vgscan" +lvm_lvs="/sbin/lvs" CLVMDOPTS="-T30" @@ -50,20 +47,11 @@ ${lvm_lvs} --noheadings -o lv_name -S 'vg_clustered=1 && lv_active!=""' 2>/dev/null } -rh_status() { - status $DAEMON -} - -rh_status_q() { - rh_status >/dev/null 2>&1 -} - start() { - if ! rh_status_q; then - echo -n "Starting $DAEMON: " + if ! status $DAEMON 1>/dev/null 2>&1; then + msg_starting "$DAEMON" $DAEMON $CLVMDOPTS || return $? - echo fi # Refresh local cache. @@ -82,74 +70,62 @@ # unnecessary warnings. ${lvm_vgscan} > /dev/null 2>&1 - - action "Activating VG(s):" ${lvm_vgchange} -aay $LVM_VGS || return $? - + run_cmd "Activating VG(s):" ${lvm_vgchange} -aay $LVM_VGS || return $? touch $LOCK_FILE - return 0 } wait_for_finish() { count=0 - while [ "$count" -le "$CLVMD_STOP_TIMEOUT" ] && \ - rh_status_q ]; do + while [ "$count" -le "$CLVMD_STOP_TIMEOUT" ] && status $DAEMON 1>/dev/null 2>&1 ; do sleep 1 count=$((count+1)) done - - ! rh_status_q + ! status $DAEMON 1>/dev/null 2>&1 } stop() { - rh_status_q || return 0 + status $DAEMON 1>/dev/null 2>&1 || return 0 [ -z "$LVM_VGS" ] && LVM_VGS="$(clustered_vgs)" if [ -n "$LVM_VGS" ]; then - action "Deactivating clustered VG(s):" ${lvm_vgchange} -anl $LVM_VGS || return $? + run_cmd "Deactivating clustered VG(s):" ${lvm_vgchange} -anl $LVM_VGS || return $? fi - action "Signaling $DAEMON to exit" kill -TERM $(pidofproc $DAEMON) || return $? + run_cmd "Signaling $DAEMON to exit" kill -TERM $(pidofproc $DAEMON) || return $? # wait half second before we start the waiting loop or we will show # the loop more time than really necessary usleep 500000 # clvmd could take some time to stop - rh_status_q && action "Waiting for $DAEMON to exit:" wait_for_finish - - if rh_status_q; then - echo -n "$DAEMON failed to exit" - failure - echo + status $DAEMON 1>/dev/null 2>&1 && run_cmd "Waiting for $DAEMON to exit:" wait_for_finish + if status $DAEMON 1>/dev/null 2>&1; then + fail return 1 else - echo -n "$DAEMON terminated" - success - echo + ok fi - rm -f $LOCK_FILE - return 0 } reload() { - rh_status_q || exit 7 - action "Reloading $DAEMON configuration: " $DAEMON -R || return $? + status $DAEMON 1>/dev/null 2>&1 || exit 7 + run_cmd "Reloading $DAEMON configuration: " $DAEMON -R || return $? } restart() { # if stop fails, restart will return the error and not attempt - # another start. Even if start is protected by rh_status_q, + # another start. Even if start is protected by status call, # that would avoid spawning another daemon, it would try to # reactivate the VGs. # Try to get clvmd to restart itself. This will preserve # exclusive LV locks - action "Restarting $DAEMON: " $DAEMON -S + run_cmd "Restarting $DAEMON: " $DAEMON -S # If that fails then do a normal stop & restart if [ $? != 0 ]; then @@ -166,49 +142,43 @@ exit 4 } +RETVAL=0 # See how we were called. case "$1" in start) start - rtrn=$? + RETVAL=$? ;; - stop) stop - rtrn=$? + RETVAL=$? ;; - restart|force-reload) restart - rtrn=$? + RETVAL=$? ;; - condrestart|try-restart) - rh_status_q || exit 0 + status $DAEMON 1>/dev/null 2>&1 || exit 0 restart - rtrn=$? + RETVAL=$? ;; - reload) reload - rtrn=$? + RETVAL=$? ;; - status) - rh_status - rtrn=$? - if [ $rtrn = 0 ]; then + status $DAEMON + RETVAL=$? + if [ $RETVAL = 0 ]; then cvgs="$(clustered_vgs)" echo Clustered Volume Groups: ${cvgs:-"(none)"} clvs="$(clustered_active_lvs)" echo Active clustered Logical Volumes: ${clvs:-"(none)"} fi ;; - *) - echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}" - rtrn=2 + msg_usage "$0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}" + RETVAL=2 ;; esac - -exit $rtrn +exit $RETVAL diff -ur LVM2.2.02.162.orig/scripts/lvm2_lvmetad_init_red_hat.in LVM2.2.02.162/scripts/lvm2_lvmetad_init_red_hat.in --- LVM2.2.02.162.orig/scripts/lvm2_lvmetad_init_red_hat.in 2016-07-28 18:50:18.000000000 +0000 +++ LVM2.2.02.162/scripts/lvm2_lvmetad_init_red_hat.in 2016-08-04 16:22:09.077554000 +0000 @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/sh # # Copyright (C) 2012 Red Hat, Inc. All rights reserved. # @@ -33,80 +33,76 @@ . /etc/init.d/functions -DAEMON=lvmetad +DAEMON="lvmetad" +NAME="LVM metadata daemon" -exec_prefix=@exec_prefix@ -sbindir=@sbindir@ - -LOCK_FILE="/var/lock/subsys/$DAEMON" +LOCK_FILE="/var/lock/subsys/lvm2-lvmetad" PID_FILE="@LVMETAD_PIDFILE@" -rh_status() { - status -p $PID_FILE $DAEMON +start() { + if [ -f $LOCK_FILE ]; then + msg_already_running "$NAME" + return + fi + msg_starting "$NAME" + daemon /sbin/$DAEMON /dev/null 2>&1 +stop() { + if [ ! -f $LOCK_FILE ]; then + msg_not_running "$NAME" + return + fi + msg_stopping "$NAME" + killproc --pidfile $PID_FILE $DAEMON + rm -f $LOCK_FILE } -start() -{ - ret=0 - action "Starting LVM metadata daemon:" $DAEMON || ret=$? - return $ret +condrestart() { + if [ ! -f $LOCK_FILE ]; then + msg_not_running "$NAME" + RETVAL=$1 + return + fi + stop + start } - -stop() -{ - ret=0 - action "Signaling LVM metadata daemon to exit:" killproc -p $PID_FILE $DAEMON -TERM || ret=$? - return $ret +reload() { + if [ ! -f $LOCK_FILE ]; then + msg_not_running "$NAME" + RETVAL=7 + return + fi + msg_reloading "$NAME" + killproc $DAEMON -HUP + RETVAL=$? } -rtrn=1 - +RETVAL=0 # See how we were called. case "$1" in start) - rh_status_q && exit 0 start - rtrn=$? - [ $rtrn = 0 ] && touch $LOCK_FILE ;; - - stop|force-stop) - rh_status_q || exit 0 + stop) stop - rtrn=$? - [ $rtrn = 0 ] && rm -f $LOCK_FILE ;; - restart) - if stop - then - start - fi - rtrn=$? + stop + start ;; - condrestart|try-restart) - rh_status_q || exit 0 - if stop - then - start - fi - rtrn=$? + condrestart 0 ;; - status) - rh_status - rtrn=$? + status $DAEMON + exit $? ;; - *) - echo $"Usage: $0 {start|stop|force-stop|restart|condrestart|try-restart|status}" + msg_usage "$0 {start|stop|force-stop|restart|condrestart|try-restart|status}" ;; esac - -exit $rtrn +exit $RETVAL diff -ur LVM2.2.02.162.orig/scripts/lvm2_lvmpolld_init_red_hat.in LVM2.2.02.162/scripts/lvm2_lvmpolld_init_red_hat.in --- LVM2.2.02.162.orig/scripts/lvm2_lvmpolld_init_red_hat.in 2016-07-28 18:50:18.000000000 +0000 +++ LVM2.2.02.162/scripts/lvm2_lvmpolld_init_red_hat.in 2016-08-04 16:22:09.077554000 +0000 @@ -1,6 +1,6 @@ -#!/bin/bash +#!/bin/sh # -# Copyright (C) 2015 Red Hat, Inc. All rights reserved. +# Copyright (C) 2012 Red Hat, Inc. All rights reserved. # # This copyrighted material is made available to anyone wishing to use, # modify, copy, or redistribute it subject to the terms and conditions @@ -27,88 +27,84 @@ # Default-Start: 1 2 3 4 5 # Default-Stop: 0 6 # Short-Description: A daemon that is responsible for monitoring in-progress -# and possibly longer term operations on logical volumes. -# It helps to reduce the number of spawned processes if same +# and possibly longer term operations on logical volumes. +# It helps to reduce the number of spawned processes if same # logical volume is requested to get monitored multiple times. # Also avoids unsolicited termination due to external factors. ### END INIT INFO . /etc/init.d/functions -DAEMON=lvmpolld +DAEMON="lvmpolld" +NAME="LVM poll daemon" -exec_prefix=@exec_prefix@ -sbindir=@sbindir@ - -LOCK_FILE="/var/lock/subsys/$DAEMON" +LOCK_FILE="/var/lock/subsys/lvm2-lvmpolld" PID_FILE="@LVMPOLLD_PIDFILE@" -rh_status() { - status -p $PID_FILE $DAEMON +start() { + if [ -f $LOCK_FILE ]; then + msg_already_running "$NAME" + return + fi + msg_starting "$NAME" + daemon /sbin/$DAEMON /dev/null 2>&1 +stop() { + if [ ! -f $LOCK_FILE ]; then + msg_not_running "$NAME" + return + fi + msg_stopping "$NAME" + killproc --pidfile $PID_FILE $DAEMON + rm -f $LOCK_FILE } -start() -{ - ret=0 - action "Starting LVM poll daemon:" $DAEMON || ret=$? - return $ret +condrestart() { + if [ ! -f $LOCK_FILE ]; then + msg_not_running "$NAME" + RETVAL=$1 + return + fi + stop + start } - -stop() -{ - ret=0 - action "Signaling LVM poll daemon to exit:" killproc -p $PID_FILE $DAEMON -TERM || ret=$? - return $ret +reload() { + if [ ! -f $LOCK_FILE ]; then + msg_not_running "$NAME" + RETVAL=7 + return + fi + msg_reloading "$NAME" + killproc $DAEMON -HUP + RETVAL=$? } -rtrn=1 - +RETVAL=0 # See how we were called. case "$1" in start) - rh_status_q && exit 0 start - rtrn=$? - [ $rtrn = 0 ] && touch $LOCK_FILE ;; - - stop|force-stop) - rh_status_q || exit 0 + stop) stop - rtrn=$? - [ $rtrn = 0 ] && rm -f $LOCK_FILE ;; - restart) - if stop - then - start - fi - rtrn=$? + stop + start ;; - condrestart|try-restart) - rh_status_q || exit 0 - if stop - then - start - fi - rtrn=$? + condrestart 0 ;; - status) - rh_status - rtrn=$? + status $DAEMON + exit $? ;; - *) - echo $"Usage: $0 {start|stop|force-stop|restart|condrestart|try-restart|status}" + msg_usage "$0 {start|stop|force-stop|restart|condrestart|try-restart|status}" ;; esac - -exit $rtrn +exit $RETVAL diff -ur LVM2.2.02.162.orig/scripts/lvm2_monitoring_init_red_hat.in LVM2.2.02.162/scripts/lvm2_monitoring_init_red_hat.in --- LVM2.2.02.162.orig/scripts/lvm2_monitoring_init_red_hat.in 2016-07-28 18:50:18.000000000 +0000 +++ LVM2.2.02.162/scripts/lvm2_monitoring_init_red_hat.in 2016-08-04 16:22:09.078554000 +0000 @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/sh # # Copyright (C) 2007-2009 Red Hat, Inc. All rights reserved. # @@ -31,15 +31,12 @@ . /etc/init.d/functions -DAEMON=lvm2-monitor -DMEVENTD_DAEMON=dmeventd +DAEMON="lvm2-monitor" +DMEVENTD_DAEMON="dmeventd" -exec_prefix=@exec_prefix@ -sbindir=@sbindir@ - -VGCHANGE=${sbindir}/vgchange -VGS=${sbindir}/vgs -LVS=${sbindir}/lvs +VGCHANGE="/sbin/vgchange" +VGS="/sbin/vgs" +LVS="/sbin/lvs" LOCK_FILE="/var/lock/subsys/$DAEMON" PID_FILE="@DMEVENTD_PIDFILE@" @@ -47,89 +44,69 @@ WARN=1 export LVM_SUPPRESS_LOCKING_FAILURE_MESSAGES=1 -rh_status() { - status -p $PID_FILE $DMEVENTD_DAEMON -} - -rh_status_q() { - rh_status >/dev/null 2>&1 -} start() { - ret=0 + local config="'log{command_names=0 prefix=\" \"}'" # TODO do we want to separate out already active groups only? - VGSLIST=`$VGS --noheadings -o name --ignoreskippedcluster --config 'log{command_names=0 prefix=" "}' 2> /dev/null` + VGSLIST=`eval $VGS --noheadings -o name --ignoreskippedcluster --config $config 2> /dev/null` for vg in $VGSLIST do - action "Starting monitoring for VG $vg:" $VGCHANGE --monitor y --poll y --ignoreskippedcluster --config 'log{command_names=0 prefix=" "}' $vg || ret=$? + run_cmd "Starting monitoring for LVM VG $vg" $VGCHANGE --monitor y --poll y --ignoreskippedcluster --config $config $vg done - - return $ret } stop() { - ret=0 + local config="'log{command_names=0 prefix=\" \"}'" # TODO do we want to separate out already active groups only? if test "$WARN" = "1"; then echo "Not stopping monitoring, this is a dangerous operation. Please use force-stop to override." return 1 fi - VGSLIST=`$VGS --noheadings -o name --ignoreskippedcluster --config 'log{command_names=0 prefix=" "}' 2> /dev/null` + VGSLIST=`eval $VGS --noheadings -o name --ignoreskippedcluster --config ${config} 2> /dev/null` for vg in $VGSLIST do - action "Stopping monitoring for VG $vg:" $VGCHANGE --monitor n --ignoreskippedcluster --config 'log{command_names=0 prefix=" "}' $vg || ret=$? + run_cmd "Stopping monitoring for LVM VG $vg" $VGCHANGE --monitor n --ignoreskippedcluster --config $config $vg done - return $ret } -rtrn=1 - +RETVAL=0 # See how we were called. case "$1" in start) - rh_status_q && exit 0 + status $DMEVENTD_DAEMON 1>/dev/null 2>&1 && exit 0 start - rtrn=$? - [ $rtrn = 0 ] && touch $LOCK_FILE + RETVAL=$? + [ $RETVAL = 0 ] && touch $LOCK_FILE ;; - force-stop) - rh_status_q || exit 0 + status $DMEVENTD_DAEMON 1>/dev/null 2>&1 || exit 0 WARN=0 stop - rtrn=$? - [ $rtrn = 0 ] && rm -f $LOCK_FILE + RETVAL=$? + [ $RETVAL = 0 ] && rm -f $LOCK_FILE ;; - stop) - rh_status_q || exit 0 + status $DMEVENTD_DAEMON 1>/dev/null 2>&1 || exit 0 test "$runlevel" = "0" && WARN=0 test "$runlevel" = "6" && WARN=0 stop - rtrn=$? - [ $rtrn = 0 ] && rm -f $LOCK_FILE + RETVAL=$? + [ $RETVAL = 0 ] && rm -f $LOCK_FILE ;; - restart) WARN=0 - if stop - then - start - fi - rtrn=$? + stop + start ;; - status) - rh_status - rtrn=$? - [ $rtrn = 0 ] && $LVS -S 'seg_monitor=monitored' -o lv_full_name,seg_monitor + status $DMEVENTD_DAEMON + RETVAL=$? + [ $RETVAL = 0 ] && $LVS -S 'seg_monitor=monitored' -o lv_full_name,seg_monitor ;; - *) - echo $"Usage: $0 {start|stop|restart|status|force-stop}" + msg_usage "$0 {start|stop|restart|status|force-stop}" ;; esac - -exit $rtrn +exit $RETVAL