X-Git-Url: https://git.tld-linux.org/?a=blobdiff_plain;f=lvm2-tld_init.patch;h=66326de7e71a892ab57bfe0aa6c75f0f7d8e5f2a;hb=8780299f67c78624188b5a2a8d85e69e6724be4a;hp=6c6c82d05fd3ddc8464c7cb1041d8a8d55c9981a;hpb=ba8c629f1eca8e931865aad3a1a8ceaf18e95a7c;p=packages%2Flvm2.git diff --git a/lvm2-tld_init.patch b/lvm2-tld_init.patch index 6c6c82d..66326de 100644 --- a/lvm2-tld_init.patch +++ b/lvm2-tld_init.patch @@ -1,80 +1,146 @@ -diff -dur LVM2.2.02.107.orig/scripts/blk_availability_init_red_hat.in LVM2.2.02.107/scripts/blk_availability_init_red_hat.in ---- LVM2.2.02.107.orig/scripts/blk_availability_init_red_hat.in 2014-06-23 14:07:38.000000000 +0000 -+++ LVM2.2.02.107/scripts/blk_availability_init_red_hat.in 2014-07-25 16:24:42.989000000 +0000 +diff -urp LVM2.2.02.177.orig/scripts/blk_availability_init_red_hat.in LVM2.2.02.177/scripts/blk_availability_init_red_hat.in +--- LVM2.2.02.177.orig/scripts/blk_availability_init_red_hat.in 2017-12-18 20:44:35.000000000 +0000 ++++ LVM2.2.02.177/scripts/blk_availability_init_red_hat.in 2018-01-29 11:24:46.012906501 +0000 @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/sh # - # Copyright (C) 2012 Red Hat, Inc. All rights reserved. + # Copyright (C) 2012-2017 Red Hat, Inc. All rights reserved. # -@@ -43,16 +43,20 @@ +@@ -31,26 +31,29 @@ + + . /etc/init.d/functions + +-script=blkdeactivate ++DAEMON="blkdeactivate" ++OPTIONS="-u -l wholevg -m disablequeueing" + +-sbindir=@SBINDIR@ +-options="-u -l wholevg -m disablequeueing -r wait" +- +-LOCK_FILE="@DEFAULT_LOCK_DIR@/subsys/blk-availability" ++LOCK_FILE="/var/lock/subsys/blk-availability" + case "$1" in start) - touch $LOCK_FILE + touch "$LOCK_FILE" + exit 0 ;; stop) -- action "Stopping block device availability:" $sbindir/$script $options -+ run_cmd "Stopping block device availability:" $sbindir/$script $options - rm -f $LOCK_FILE +- 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 -dur LVM2.2.02.107.orig/scripts/blk_availability_systemd_red_hat.service.in LVM2.2.02.107/scripts/blk_availability_systemd_red_hat.service.in ---- LVM2.2.02.107.orig/scripts/blk_availability_systemd_red_hat.service.in 2014-06-23 14:07:38.000000000 +0000 -+++ LVM2.2.02.107/scripts/blk_availability_systemd_red_hat.service.in 2014-07-25 16:24:42.992000000 +0000 -@@ -6,7 +6,7 @@ - - [Service] - Type=oneshot --ExecStart=/usr/bin/true -+ExecStart=/bin/true - ExecStop=@sbindir@/blkdeactivate -u -l wholevg - RemainAfterExit=yes - -diff -dur LVM2.2.02.107.orig/scripts/clvmd_init_red_hat.in LVM2.2.02.107/scripts/clvmd_init_red_hat.in ---- LVM2.2.02.107.orig/scripts/clvmd_init_red_hat.in 2014-06-23 14:07:38.000000000 +0000 -+++ LVM2.2.02.107/scripts/clvmd_init_red_hat.in 2014-07-25 16:24:42.989000000 +0000 -@@ -66,9 +66,8 @@ +diff -urp LVM2.2.02.177.orig/scripts/clvmd_init_red_hat.in LVM2.2.02.177/scripts/clvmd_init_red_hat.in +--- LVM2.2.02.177.orig/scripts/clvmd_init_red_hat.in 2017-12-18 20:44:35.000000000 +0000 ++++ LVM2.2.02.177/scripts/clvmd_init_red_hat.in 2018-01-29 12:54:59.156583852 +0000 +@@ -4,7 +4,7 @@ + # + # chkconfig: - 24 76 + # description: Cluster daemon for userland logical volume management tools. +-# pidfile: @CLVMD_PIDFILE@ ++# pidfile: /var/run/clvmd.pid + # + # For Red-Hat-based distributions such as Fedora, RHEL, CentOS. + # +@@ -18,15 +18,12 @@ + + . /etc/rc.d/init.d/functions + +-DAEMON=clvmd ++DAEMON="clvmd" + +-sbindir="@SBINDIR@" +-usrsbindir="@USRSBINDIR@" +- +-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 @@ clustered_active_lvs() { + "$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 +- if ! rh_status_q; then - echo -n "Starting $DAEMON: " -+ msg_starting "$DAEMON" - $DAEMON $CLVMDOPTS || return $? +- "$usrsbindir/$DAEMON" $CLVMDOPTS || return $? - echo ++ if ! status $DAEMON 1>/dev/null 2>&1; then ++ msg_starting "$DAEMON" ++ "$DAEMON" $CLVMDOPTS || return $? fi # Refresh local cache. -@@ -88,7 +87,7 @@ +@@ -82,74 +70,60 @@ start() + # unnecessary warnings. - ${lvm_vgscan} > /dev/null 2>&1 - -- action "Activating VG(s):" ${lvm_vgchange} -aay $LVM_VGS || return $? + "$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 + } - touch $LOCK_FILE - -@@ -113,27 +112,23 @@ + 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 $? +- 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 $? +- +- 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 @@ -82,12 +148,13 @@ diff -dur LVM2.2.02.107.orig/scripts/clvmd_init_red_hat.in LVM2.2.02.107/scripts # clvmd could take some time to stop - rh_status_q && action "Waiting for $DAEMON to exit:" wait_for_finish -+ rh_status_q && run_cmd "Waiting for $DAEMON to exit:" wait_for_finish - - if rh_status_q; then +- +- 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 @@ -96,48 +163,564 @@ diff -dur LVM2.2.02.107.orig/scripts/clvmd_init_red_hat.in LVM2.2.02.107/scripts - echo + ok fi - - rm -f $LOCK_FILE -@@ -143,7 +138,7 @@ +- + rm -f "$LOCK_FILE" +- + return 0 + } reload() { - rh_status_q || exit 7 -- action "Reloading $DAEMON configuration: " $DAEMON -R || return $? -+ run_cmd "Reloading $DAEMON configuration: " $DAEMON -R || return $? +- rh_status_q || exit 7 +- action "Reloading $DAEMON configuration: " "$usrsbindir/$DAEMON" -R || return $? ++ status $DAEMON 1>/dev/null 2>&1 || exit 7 ++ run_cmd "Reloading $DAEMON configuration: " "$DAEMON" -R || return $? } restart() { -@@ -154,7 +149,7 @@ + # 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 +- action "Restarting $DAEMON: " "$usrsbindir/$DAEMON" -S ++ run_cmd "Restarting $DAEMON: " "$DAEMON" -S # If that fails then do a normal stop & restart if [ $? != 0 ]; then -diff -dur LVM2.2.02.107.orig/scripts/lvm2_monitoring_init_red_hat.in LVM2.2.02.107/scripts/lvm2_monitoring_init_red_hat.in ---- LVM2.2.02.107.orig/scripts/lvm2_monitoring_init_red_hat.in 2014-06-23 14:07:38.000000000 +0000 -+++ LVM2.2.02.107/scripts/lvm2_monitoring_init_red_hat.in 2014-07-25 16:29:30.757000000 +0000 +@@ -166,38 +140,39 @@ restart() { + 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)" +@@ -206,9 +181,9 @@ case "$1" in + ;; + + *) +- 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 -urp LVM2.2.02.177.orig/scripts/cmirrord_init_red_hat.in LVM2.2.02.177/scripts/cmirrord_init_red_hat.in +--- LVM2.2.02.177.orig/scripts/cmirrord_init_red_hat.in 2017-12-18 20:44:35.000000000 +0000 ++++ LVM2.2.02.177/scripts/cmirrord_init_red_hat.in 2018-01-29 11:28:49.069892013 +0000 +@@ -2,7 +2,7 @@ + # + # chkconfig: - 22 78 + # description: Starts and stops cmirrord +-# pidfile: @CMIRRORD_PIDFILE@ ++# pidfile: /var/run/cmirrord.pid + # + # For Red-Hat-based distributions such as Fedora, RHEL, CentOS. + # +@@ -16,95 +16,57 @@ + + . /etc/init.d/functions + +-DAEMON=cmirrord ++DAEMON="cmirrord" + +-usrsbindir="@USRSBINDIR@" +- +-LOCK_FILE="@DEFAULT_SYS_LOCK_DIR@/subsys/$DAEMON" ++LOCK_FILE="/var/lock/subsys/$DAEMON" + + start() + { +- rtrn=0 +- if ! pidof "$DAEMON" > /dev/null +- then +- echo -n "Starting $DAEMON: " +- daemon "$usrsbindir/$DAEMON" +- rtrn=$? +- echo +- fi +- +- return $rtrn ++ if [ -f $LOCK_FILE ]; then ++ msg_already_running "$DAEMON" ++ return ++ fi ++ msg_starting "$DAEMON" ++ daemon /sbin/$DAEMON /dev/null 2>&1 +-} ++LOCK_FILE="/var/lock/subsys/lvm2-lvmetad" ++PID_FILE="/var/run/lvmetad.pid" + + start() + { +- ret=0 +- action "Starting LVM metadata daemon:" "$sbindir/$DAEMON" || ret=$? +- return $ret ++ if [ -f "$LOCK_FILE" ]; then ++ msg_already_running "$NAME" ++ return ++ fi ++ msg_starting "$NAME" ++ daemon "/sbin/$DAEMON" /dev/null 2>&1 +-} ++LOCK_FILE="/var/lock/subsys/lvm2-lvmpolld" ++PID_FILE="/var/run/lvmpolld.pid" + + start() + { +- ret=0 +- action "Starting LVM poll daemon:" "$sbindir/$DAEMON" || ret=$? +- return $ret ++ if [ -f $LOCK_FILE ]; then ++ msg_already_running "$NAME" ++ return ++ fi ++ msg_starting "$NAME" ++ daemon "/sbin/$DAEMON" /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=`$VGS --noheadings -o name --ignoreskippedcluster --config $config 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 VG $vg" $VGCHANGE --monitor y --poll y --ignoreskippedcluster --config $config $vg +- 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 @@ -154,13 +737,82 @@ diff -dur LVM2.2.02.107.orig/scripts/lvm2_monitoring_init_red_hat.in LVM2.2.02.1 return 1 fi - VGSLIST=`$VGS --noheadings -o name --ignoreskippedcluster --config 'log{command_names=0 prefix=" "}' 2> /dev/null` -+ VGSLIST=`$VGS --noheadings -o name --ignoreskippedcluster --config ${config} 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 VG $vg" $VGCHANGE --monitor n --ignoreskippedcluster --config $config $vg +- 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 +-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 ++ RETVAL=$? ++ [ "$RETVAL" = 0 ] && rm -f "$LOCK_FILE" ++ start ++ RETVAL=$? ++ [ "$RETVAL" = 0 ] && touch "$LOCK_FILE" + ;; + + 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