]> sourceware.org Git - lvm2.git/commitdiff
And more fixes for cmirror build.
authorAlasdair Kergon <agk@redhat.com>
Tue, 19 Jan 2010 02:04:33 +0000 (02:04 +0000)
committerAlasdair Kergon <agk@redhat.com>
Tue, 19 Jan 2010 02:04:33 +0000 (02:04 +0000)
configure
configure.in
man/Makefile.in
man/cmirrord.8.in [new file with mode: 0644]
scripts/Makefile.in
scripts/cmirrord_init_red_hat.in

index 85d073091d558f7c298e706d33bf2d1e9394329f..af36ab81b51ba757a76baadb57e70527766741ba 100755 (executable)
--- a/configure
+++ b/configure
@@ -15531,7 +15531,7 @@ LVM_LIBAPI=`echo "$VER" | $AWK -F '[()]' '{print $2}'`
 
 
 ################################################################################
-ac_config_files="$ac_config_files Makefile make.tmpl daemons/Makefile daemons/clvmd/Makefile daemons/cmirrord/Makefile daemons/dmeventd/Makefile daemons/dmeventd/libdevmapper-event.pc daemons/dmeventd/plugins/Makefile daemons/dmeventd/plugins/mirror/Makefile daemons/dmeventd/plugins/snapshot/Makefile doc/Makefile include/.symlinks include/Makefile lib/Makefile lib/format1/Makefile lib/format_pool/Makefile lib/locking/Makefile lib/mirror/Makefile lib/misc/lvm-version.h lib/snapshot/Makefile libdm/Makefile libdm/libdevmapper.pc liblvm/Makefile liblvm/liblvm2app.pc man/Makefile po/Makefile scripts/clvmd_init_red_hat scripts/lvm2_monitoring_init_red_hat scripts/Makefile test/Makefile test/api/Makefile tools/Makefile udev/Makefile"
+ac_config_files="$ac_config_files Makefile make.tmpl daemons/Makefile daemons/clvmd/Makefile daemons/cmirrord/Makefile daemons/dmeventd/Makefile daemons/dmeventd/libdevmapper-event.pc daemons/dmeventd/plugins/Makefile daemons/dmeventd/plugins/mirror/Makefile daemons/dmeventd/plugins/snapshot/Makefile doc/Makefile include/.symlinks include/Makefile lib/Makefile lib/format1/Makefile lib/format_pool/Makefile lib/locking/Makefile lib/mirror/Makefile lib/misc/lvm-version.h lib/snapshot/Makefile libdm/Makefile libdm/libdevmapper.pc liblvm/Makefile liblvm/liblvm2app.pc man/Makefile po/Makefile scripts/clvmd_init_red_hat scripts/cmirrord_init_red_hat scripts/lvm2_monitoring_init_red_hat scripts/Makefile test/Makefile test/api/Makefile tools/Makefile udev/Makefile"
 
 cat >confcache <<\_ACEOF
 # This file is a shell script that caches the results of configure
@@ -16157,6 +16157,7 @@ do
     "man/Makefile") CONFIG_FILES="$CONFIG_FILES man/Makefile" ;;
     "po/Makefile") CONFIG_FILES="$CONFIG_FILES po/Makefile" ;;
     "scripts/clvmd_init_red_hat") CONFIG_FILES="$CONFIG_FILES scripts/clvmd_init_red_hat" ;;
+    "scripts/cmirrord_init_red_hat") CONFIG_FILES="$CONFIG_FILES scripts/cmirrord_init_red_hat" ;;
     "scripts/lvm2_monitoring_init_red_hat") CONFIG_FILES="$CONFIG_FILES scripts/lvm2_monitoring_init_red_hat" ;;
     "scripts/Makefile") CONFIG_FILES="$CONFIG_FILES scripts/Makefile" ;;
     "test/Makefile") CONFIG_FILES="$CONFIG_FILES test/Makefile" ;;
index 68edb5f4e57c083c7c04ed69d47182b1b5e6e4d7..bf74e579822fac93ac703ea5337f3c051554adc8 100644 (file)
@@ -1175,6 +1175,7 @@ liblvm/liblvm2app.pc
 man/Makefile
 po/Makefile
 scripts/clvmd_init_red_hat
+scripts/cmirrord_init_red_hat
 scripts/lvm2_monitoring_init_red_hat
 scripts/Makefile
 test/Makefile
index 0b96e230d89e01dca585dad16c92efe5cf3229ae..dfe95e6e03473e2253e72a7f1e187d7ad70fb560 100644 (file)
@@ -32,7 +32,16 @@ MAN8=lvchange.8 lvconvert.8 lvcreate.8 lvdisplay.8 lvextend.8 lvm.8 \
        vgck.8 vgcreate.8 vgconvert.8 vgdisplay.8 vgexport.8 vgextend.8 \
        vgimport.8 vgimportclone.8 vgmerge.8 vgmknodes.8 vgreduce.8 vgremove.8 \
        vgrename.8 vgs.8 vgscan.8 vgsplit.8 $(FSADMMAN)
-MAN8CLUSTER=clvmd.8 cmirrord.8
+
+ifneq ("@CLVMD@", "none")
+  MAN8CLUSTER=clvmd.8
+else
+  MAN8CLUSTER=
+endif
+ifeq ("@BUILD_CMIRRORD@", "yes")
+  MAN8CLUSTER+=cmirrord.8
+endif
+
 MAN8DM=dmsetup.8
 MAN5DIR=${mandir}/man5
 MAN8DIR=${mandir}/man8
diff --git a/man/cmirrord.8.in b/man/cmirrord.8.in
new file mode 100644 (file)
index 0000000..b5818aa
--- /dev/null
@@ -0,0 +1,5 @@
+.TH CMIRRORD 8 "LVM TOOLS #VERSION#" "Red Hat Inc" \" -*- nroff -*-
+.SH NAME
+cmirrord
+.SH SYNOPSIS
+.B cmirrord
index 33a10c1727eef5d1528cecd733a7eca87186f856..867f0ee7dd4d9ebc8bc7fa41f2640f7674b7e741 100644 (file)
@@ -30,4 +30,4 @@ endif
 
 install_lvm2: install
 
-DISTCLEAN_TARGETS += clvmd_init_red_hat lvm2_monitoring_init_red_hat
+DISTCLEAN_TARGETS += clvmd_init_red_hat cmirrord_init_red_hat lvm2_monitoring_init_red_hat
index c367f53e50c93f29583c2ff06049c154110f659d..997495a74199fa62d9bfee4b4159221f373fa419 100755 (executable)
@@ -1,71 +1,71 @@
 #!/bin/bash
 #
 # chkconfig: - 22 78
-# description: Loads/Unloads dm-log-clustered module
+# description: Starts and stops cmirrord
 #
+# For Red-Hat-based distributions such as Fedora, RHEL, CentOS.
 #
 ### BEGIN INIT INFO
 # Provides: cmirrord
-# Required-Start:       $network $time
-# Required-Stop:        $network $time
+# Required-Start:       $network $time $local_fs
+# Required-Stop:       $network $time $local_fs
 # Short-Description:    Starts and stops cmirrord
-# Description:          Starts and stops the cluster mirror log daemon
+# Description:   Starts and stops the cluster mirror log daemon
 ### END INIT INFO
 
 . /etc/init.d/functions
 
-# set secure PATH
-PATH="/bin:/usr/bin:/sbin:/usr/sbin:/usr/sbin"
+DAEMON=cmirrord
+
+LOCK_FILE="/var/lock/subsys/$DAEMON"
 
 start()
 {
-       echo -n "Starting clustered mirror log server:"
-       ps -C cmirrord >& /dev/null || cmirrord >& /dev/null
+       if ! pidof $DAEMON > /dev/null 
+       then 
+               echo -n "Starting $DAEMON: "
+               daemon $DAEMON $CLVMDOPTS
+               rtrn=$?
+               echo
+               if [ $rtrn -ne 0 ]
+               then
+                       break
+               fi
+       fi      
 
+       return $rtrn
+}
+
+stop()
+{
+       echo -n "Stopping $DAEMON:"
+       killproc $DAEMON -TERM
        rtrn=$?
-       if [ $rtrn -eq 0 ]; then
-               success "startup"
-       else
-               failure "startup"
-       fi
 
-       # need the extra echo to properly terminate the line
-       echo
        return $rtrn
 }
 
-stop()
+wait_for_finish()
 {
-       echo -n "Stopping clustered mirror log server:"
-       killall cmirrord >& /dev/null
-       for ((i=0; $i < 10; i++)); do
-               if ! ps -C cmirrord >& /dev/null; then
-                       break;
-               fi
+       count=0
+
+       while [ "$count" -le 10 -a -n "`pidof $DAEMON`" ]
+       do
                sleep 1
+               count=$((count + 1))
        done
-
-       if [ $i -ge 10 ]; then
-               failure "shutdown"
-               echo
+       
+       if [ `pidof $DAEMON` ]
+       then
                return 1
        else
-               success "shutdown"
+               return 0
        fi
-
-       echo
-       return $rtrn
 }
 
 cmirror_status()
 {
-       ps -C cmirrord >& /dev/null
-       if [ $? -ne 0 ]; then
-               echo "Cluster log server is not running.  (Cluster mirrors will not work.)"
-               return 1
-       fi
-
-       return 0
+       status $DAEMON
 }
 
 rtrn=1
@@ -75,16 +75,21 @@ case "$1" in
        start)
                start
                rtrn=$?
+               [ $rtrn = 0 ] && touch $LOCK_FILE
                ;;
 
        stop)
                stop
                rtrn=$?
+               [ $rtrn = 0 ] && rm -f $LOCK_FILE
                ;;
 
        restart)
-               $0 stop
-               $0 start
+               if stop
+               then
+                       wait_for_finish
+                       start
+               fi
                rtrn=$?
                ;;
 
This page took 0.09738 seconds and 5 git commands to generate.