From: rmccabe@sourceware.org <rmccabe@sourceware.org>
To: cluster-devel.redhat.com
Subject: [Cluster-devel] conga ./clustermon.spec.in.in ./conga.spec.in. ...
Date: 12 May 2008 15:13:36 -0000 [thread overview]
Message-ID: <20080512151336.21607.qmail@sourceware.org> (raw)
CVSROOT: /cvs/cluster
Module name: conga
Branch: RHEL5
Changes by: rmccabe at sourceware.org 2008-05-12 15:13:33
Modified files:
. : clustermon.spec.in.in conga.spec.in.in
luci/site/luci/Extensions: ricci_communicator.py
make : version.in
ricci/common : File.cpp Variable.cpp daemon_init.c utils.cpp
ricci/include : shred_allocator.h
ricci/init.d : ricci
ricci/modules/cluster/clumon: Makefile
ricci/modules/cluster/clumon/init.d: modclusterd
ricci/modules/cluster/clumon/src/common: Cluster.cpp
ricci/modules/storage: ContentFS.cpp ExtendedFS.cpp LV.cpp
Mapper.cpp MountHandler.cpp PTSource.cpp
PV.cpp Partition.cpp PartitionTable.cpp
parted_wrapper.cpp
Log message:
Fixes from HEAD
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/clustermon.spec.in.in.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.18.2.37&r2=1.18.2.38
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/conga.spec.in.in.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.45.2.84&r2=1.45.2.85
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/site/luci/Extensions/ricci_communicator.py.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.9.2.14&r2=1.9.2.15
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/make/version.in.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.21.2.38&r2=1.21.2.39
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/ricci/common/File.cpp.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.1.2.4&r2=1.1.2.5
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/ricci/common/Variable.cpp.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.8.2.1&r2=1.8.2.2
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/ricci/common/daemon_init.c.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.1.2.1&r2=1.1.2.2
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/ricci/common/utils.cpp.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.6.2.2&r2=1.6.2.3
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/ricci/include/shred_allocator.h.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.2.2.1&r2=1.2.2.2
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/ricci/init.d/ricci.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.8.2.4&r2=1.8.2.5
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/ricci/modules/cluster/clumon/Makefile.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.4.2.2&r2=1.4.2.3
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/ricci/modules/cluster/clumon/init.d/modclusterd.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.2.2.2&r2=1.2.2.3
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/ricci/modules/cluster/clumon/src/common/Cluster.cpp.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.6.2.2&r2=1.6.2.3
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/ricci/modules/storage/ContentFS.cpp.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.5.2.1&r2=1.5.2.2
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/ricci/modules/storage/ExtendedFS.cpp.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.7.2.2&r2=1.7.2.3
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/ricci/modules/storage/LV.cpp.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.6.2.4&r2=1.6.2.5
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/ricci/modules/storage/Mapper.cpp.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.3.2.1&r2=1.3.2.2
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/ricci/modules/storage/MountHandler.cpp.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.5.2.2&r2=1.5.2.3
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/ricci/modules/storage/PTSource.cpp.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.2.2.1&r2=1.2.2.2
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/ricci/modules/storage/PV.cpp.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.4.2.3&r2=1.4.2.4
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/ricci/modules/storage/Partition.cpp.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.3.2.1&r2=1.3.2.2
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/ricci/modules/storage/PartitionTable.cpp.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.5.2.1&r2=1.5.2.2
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/ricci/modules/storage/parted_wrapper.cpp.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.8.2.4&r2=1.8.2.5
--- conga/clustermon.spec.in.in 2008/04/11 06:54:43 1.18.2.37
+++ conga/clustermon.spec.in.in 2008/05/12 15:13:31 1.18.2.38
@@ -18,7 +18,7 @@
Name: clustermon
Version: @@VERS@@
Release: @@REL@@%{?dist}
-License: GPL
+License: GPLv2
URL: http://sources.redhat.com/cluster/conga
Group: System Environment/Base
@@ -67,12 +67,11 @@
make %{?_smp_mflags} clustermon
%install
-rm -rf $RPM_BUILD_ROOT
-make DESTDIR=$RPM_BUILD_ROOT install_clustermon
+rm -rf %{buildroot}
+make DESTDIR=%{buildroot} install_clustermon
%clean
-rm -rf $RPM_BUILD_ROOT
-
+rm -rf %{buildroot}
@@ -191,7 +190,7 @@
%{_docdir}/cluster-cim-%{version}/
%post -n cluster-cim
-# pegasus might not be running, don't fail %post
+# pegasus might not be running, don't fail
/sbin/service tog-pegasus condrestart >&/dev/null
exit 0
@@ -200,7 +199,7 @@
if [ "$1" == "0" ]; then
/sbin/service tog-pegasus condrestart >&/dev/null
fi
-# pegasus might not be running, don't fail %postun
+# pegasus might not be running, don't fail
exit 0
--- conga/conga.spec.in.in 2008/04/28 03:54:18 1.45.2.84
+++ conga/conga.spec.in.in 2008/05/12 15:13:32 1.45.2.85
@@ -62,11 +62,11 @@
make %{?_smp_mflags} conga
%install
-rm -rf $RPM_BUILD_ROOT
-make DESTDIR=$RPM_BUILD_ROOT install_conga
+rm -rf %{buildroot}
+make DESTDIR=%{buildroot} install_conga
%clean
-rm -rf $RPM_BUILD_ROOT
+rm -rf %{buildroot}
####### luci #######
--- conga/luci/site/luci/Extensions/ricci_communicator.py 2008/01/23 04:44:32 1.9.2.14
+++ conga/luci/site/luci/Extensions/ricci_communicator.py 2008/05/12 15:13:32 1.9.2.15
@@ -169,7 +169,7 @@
luci_log.debug_net('RC:UNAUTH0: unauthenticate %s for %s:%d' \
% (ret, self.__hostname, self.__port))
if ret != '0':
- raise Exception, 'Invalid response'
+ raise Exception, 'Invalid response: %s' % ret
try:
self.ss.untrust()
@@ -494,7 +494,7 @@
% batch_xml.toxml())
except:
pass
- raise RicciError, 'Not an XML batch node'
+ raise RicciError, 'Not an XML batch node: %s' % batch_xml.nodeName
total = 0
last = 0
@@ -544,7 +544,7 @@
if LUCI_DEBUG_NET is True:
luci_log.debug_net_priv('RC:EMS0: Expecting "batch" got "%s"' \
% batch_xml.toxml())
- raise RicciError, 'Invalid XML node; expecting a batch node'
+ raise RicciError, 'Invalid XML node; expecting a batch node: %s' % batch_xml.nodeName
c = 0
for node in batch_xml.childNodes:
--- conga/make/version.in 2008/04/28 03:54:18 1.21.2.38
+++ conga/make/version.in 2008/05/12 15:13:32 1.21.2.39
@@ -1,2 +1,2 @@
-VERSION=0.12.0
-RELEASE=9
+VERSION=0.14.0
+RELEASE=1
--- conga/ricci/common/File.cpp 2008/01/17 17:38:36 1.1.2.4
+++ conga/ricci/common/File.cpp 2008/05/12 15:13:32 1.1.2.5
@@ -139,17 +139,17 @@
MutexLocker l(*_mutex);
long len = size();
- const auto_ptr<char> buff(new char[len]);
+ char buff[len];
try {
((fstream *) _pimpl->fs)->seekg(0, ios::beg);
check_failed();
- ((fstream *) _pimpl->fs)->read(buff.get(), len);
+ ((fstream *) _pimpl->fs)->read(buff, len);
check_failed();
- String ret(buff.get(), len);
- ::shred(buff.get(), len);
+ String ret(buff, len);
+ ::shred(buff, len);
return ret;
} catch ( ... ) {
- ::shred(buff.get(), len);
+ ::shred(buff, len);
throw;
}
}
--- conga/ricci/common/Variable.cpp 2008/01/17 17:38:36 1.8.2.1
+++ conga/ricci/common/Variable.cpp 2008/05/12 15:13:32 1.8.2.2
@@ -26,6 +26,8 @@
#include <stdio.h>
+#include <vector>
+#include <algorithm>
using namespace std;
// ##### class Variable #####
--- conga/ricci/common/daemon_init.c 2008/01/17 17:38:36 1.1.2.1
+++ conga/ricci/common/daemon_init.c 2008/05/12 15:13:32 1.1.2.2
@@ -20,7 +20,7 @@
/** @file
* daemon_init function, does sanity checks and calls daemon().
*
- * $Id: daemon_init.c,v 1.1.2.1 2008/01/17 17:38:36 rmccabe Exp $
+ * $Id: daemon_init.c,v 1.1.2.2 2008/05/12 15:13:32 rmccabe Exp $
*
* Author: Jeff Moyer <moyer@mclinux.com>
*/
@@ -232,5 +232,4 @@
update_pidfile(prog);
nice(-1);
- //mlockall(MCL_CURRENT | MCL_FUTURE);
}
--- conga/ricci/common/utils.cpp 2008/01/17 17:38:36 1.6.2.2
+++ conga/ricci/common/utils.cpp 2008/05/12 15:13:32 1.6.2.3
@@ -23,8 +23,13 @@
#include "utils.h"
#include "executils.h"
-#include <openssl/md5.h>
+#include <unistd.h>
+#include <stdio.h>
#include <stdlib.h>
+#include <math.h>
+#include <errno.h>
+#include <limits.h>
+#include <openssl/md5.h>
//#include <iostream>
@@ -201,24 +206,44 @@
long long
utils::to_long(const String& str)
{
- return atoll(str.c_str());
+ char *p = NULL;
+ long long ret;
+ ret = strtoll(strip(str).c_str(), &p, 10);
+ if (p != NULL && *p != '\0')
+ throw String("Not a number: ") + str;
+ if (ret == LLONG_MIN && errno == ERANGE)
+ throw String("Numeric underflow: ") + str;
+ if (ret == LLONG_MAX && errno == ERANGE)
+ throw String("Numeric overflow: ") + str;
+ return ret;
}
float
utils::to_float(const String& str)
{
- float num = 0;
+ char *p = NULL;
+ float ret;
- sscanf(strip(str).c_str(), "%f", &num);
- return num;
+ ret = strtof(strip(str).c_str(), &p);
+ if (p != NULL && *p == '\0')
+ throw String("Invalid floating point number: ") + str;
+ if (ret == 0 && errno == ERANGE)
+ throw String("Floating point underflow: ") + str;
+ if ((ret == HUGE_VALF || ret == HUGE_VALL) && errno == ERANGE)
+ throw String("Floating point overflow: ") + str;
+
+ return ret;
}
String
utils::to_string(int value)
{
char tmp[64];
+ int ret;
- sprintf(tmp, "%d", value);
+ ret = snprintf(tmp, sizeof(tmp), "%d", value);
+ if (ret < 0 || (size_t) ret >= sizeof(tmp))
+ throw String("Invalid integer");
return tmp;
}
@@ -226,8 +251,11 @@
utils::to_string(long value)
{
char tmp[64];
+ int ret;
- sprintf(tmp, "%ld", value);
+ ret = snprintf(tmp, sizeof(tmp), "%ld", value);
+ if (ret < 0 || (size_t) ret >= sizeof(tmp))
+ throw String("Invalid long integer");
return tmp;
}
@@ -235,8 +263,11 @@
utils::to_string(long long value)
{
char tmp[64];
+ int ret;
- sprintf(tmp, "%lld", value);
+ ret = snprintf(tmp, sizeof(tmp), "%lld", value);
+ if (ret < 0 || (size_t) ret >= sizeof(tmp))
+ throw String("Invalid long long integer");
return tmp;
}
--- conga/ricci/include/shred_allocator.h 2008/01/17 17:38:37 1.2.2.1
+++ conga/ricci/include/shred_allocator.h 2008/05/12 15:13:32 1.2.2.2
@@ -33,6 +33,12 @@
#ifndef __CONGA_SHRED_ALLOCATOR_H
#define __CONGA_SHRED_ALLOCATOR_H
+extern "C" {
+ #include <unistd.h>
+ #include <stdlib.h>
+ #include <string.h>
+}
+
#include <new>
template<typename _Tp>
--- conga/ricci/init.d/ricci 2008/01/17 17:38:37 1.8.2.4
+++ conga/ricci/init.d/ricci 2008/05/12 15:13:32 1.8.2.5
@@ -53,103 +53,159 @@
{
rm -f "$SSL_PUBKEY" "$SSL_PRIVKEY"
echo -n "generating SSL certificates... "
- /usr/bin/openssl genrsa -out "$SSL_PRIVKEY" 2048 >&/dev/null
- /usr/bin/openssl req -new -x509 -key "$SSL_PRIVKEY" -out "$SSL_PUBKEY" -days 1825 -config /var/lib/ricci/certs/cacert.config
- /bin/chown $RUNASUSER:$RUNASUSER "$SSL_PRIVKEY" "$SSL_PUBKEY"
+ /usr/bin/openssl genrsa -out "$SSL_PRIVKEY" 2048 >&/dev/null &&
+ /usr/bin/openssl req -new -x509 -key "$SSL_PRIVKEY" -out "$SSL_PUBKEY" -days 1825 -config /var/lib/ricci/certs/cacert.config &&
+ /bin/chown $RUNASUSER:$RUNASUSER "$SSL_PRIVKEY" "$SSL_PUBKEY" &&
+ /bin/chmod 600 "$SSL_PRIVKEY" &&
/bin/chmod 644 "$SSL_PUBKEY"
- /bin/chmod 600 "$SSL_PRIVKEY"
ret=$?
echo "done"
return $ret
}
+check_ricci_lockfiles() {
+ ricci_status >& /dev/null
+ ret=$?
+ if [ "$ret" -eq 1 ] || [ "$ret" -eq 2 ]; then
+ # stale pid and/or lockfile
+ rm -f -- "$PIDFILE" "$LOCKFILE"
+ fi
+}
+
+ricci_status() {
+ if [ -f "$PIDFILE" ]; then
+ status -p "$PIDFILE" "$RICCID"
+ ricci_up=$?
+ else
+ status "$RICCID"
+ ricci_up=$?
+ fi
+ return $ricci_up
+}
+
+ricci_stop() {
+ ricci_status >& /dev/null
+ ret=$?
+
+ if [ "$ret" -ne 0 ]; then
+ # already stopped - no error
+ check_ricci_lockfiles
+ return 0
+ fi
+
+ killproc "$RICCID" SIGTERM
+
+ ricci_status >& /dev/null
+ ret=$?
+
+ max_wait=10
+ cur_wait=0
+ while [ "$ret" -eq 0 ] && [ $cur_wait -lt $max_wait ]; do
+ sleep 1
+ cur_wait=`expr $cur_wait + 1`
+ ricci_status >& /dev/null
+ ret=$?
+ done
+
+ ricci_status >& /dev/null
+ ret=$?
+
+ if [ "$ret" -ne 0 ]; then
+ rm -f -- "$PIDFILE" "$LOCKFILE"
+ return 0
+ fi
+
+ return 1
+}
case $1 in
start)
service messagebus status >&/dev/null
- if [ $? -ne 0 ]; then
+ if [ "$?" -ne 0 ]; then
service messagebus start
service messagebus status >&/dev/null
- if [ $? -ne 0 ]; then
- echo "not starting ricci..."
- /usr/bin/logger -t $RICCID "startup failed"
+ if [ "$?" -ne 0 ]; then
+ /usr/bin/logger -t "$RICCID" -- "messagebus startup failed"
+ failure "not starting $RICCID"
exit 1
fi
fi
+
service oddjobd status >&/dev/null
- if [ $? -ne 0 ]; then
+ if [ "$?" -ne 0 ]; then
service oddjobd start
service oddjobd status >&/dev/null
- if [ $? -ne 0 ]; then
- echo "not starting ricci..."
- /usr/bin/logger -t $RICCID "startup failed"
+ if [ "$?" -ne 0 ]; then
+ /usr/bin/logger -t "$RICCID" -- "oddjob startup failed"
+ failure "not starting $RICCID"
exit 1
fi
fi
service saslauthd start >&/dev/null
+
ssl_certs_ok
- if [ "1$?" != "10" ] ; then
+ if [ "$?" -ne 0 ] ; then
generate_ssl_certs
fi
- NewUID=`grep "^$RUNASUSER:" /etc/passwd | sed -e 's/^[^:]*:[^:]*://' -e 's/:.*//'`
+ check_ricci_lockfiles
+ NewUID=`grep "^$RUNASUSER:" /etc/passwd | cut -d: -f3`
echo -n $"Starting $ID: "
- daemon $RICCID -u $NewUID
- rtrn=$?
+ daemon "$RICCID" -u "$NewUID"
echo
+ ret=$?
- if [ $rtrn -eq 0 ]; then
- touch "$LOCKFILE"
- /usr/bin/logger -t $RICCID "startup succeeded"
+ if [ "$ret" -eq 0 ]; then
+ touch -- "$LOCKFILE"
+ /usr/bin/logger -t $RICCID -- "startup succeeded"
else
- /usr/bin/logger -t $RICCID "startup failed"
+ /usr/bin/logger -t $RICCID -- "startup failed"
fi
;;
restart)
$0 stop
$0 start
- rtrn=$?
+ ret=$?
;;
status)
- status $RICCID
- rtrn=$?
+ ricci_status
+ ret=$?
;;
stop)
echo -n "Shutting down $ID: "
- killproc $RICCID SIGTERM
- rtrn=$?
- if [ $rtrn -eq 0 ]; then
- sleep 8
- rm -f $PIDFILE
- rm -f $LOCKFILE
- /usr/bin/logger -t $RICCID "shutdown succeeded"
- rtrn=0
+ ricci_stop
+ ret=$?
+ if [ "$ret" -eq 0 ]; then
+ /usr/bin/logger -t "$RICCID" -- "shutdown succeeded"
else
- /usr/bin/logger -t $RICCID "shutdown failed"
- rtrn=1
+ /usr/bin/logger -t "$RICCID" -- "shutdown failed"
fi
echo
;;
condrestart)
- if [ -f ${PIDFILE} ] ; then
+ if [ -f "$PIDFILE" ]; then
$0 restart
- rtrn=$?
+ ret=$?
fi
;;
+ try-restart)
+ ret=3
+ ;;
+
reload)
- rtrn=3
+ ret=3
;;
*)
echo "Usage: $0 {start|stop|status|restart|condrestart|reload}"
- rtrn=3
+ ret=3
;;
esac
-exit $rtrn
+exit $ret
--- conga/ricci/modules/cluster/clumon/Makefile 2008/01/17 17:38:37 1.4.2.2
+++ conga/ricci/modules/cluster/clumon/Makefile 2008/05/12 15:13:33 1.4.2.3
@@ -11,6 +11,7 @@
top_srcdir=../../..
UNINSTALL=${top_srcdir}/scripts/uninstall.pl
+include ${top_srcdir}/make/version.in
include ${top_srcdir}/make/defines.mk
all:
--- conga/ricci/modules/cluster/clumon/init.d/modclusterd 2008/01/17 17:38:37 1.2.2.2
+++ conga/ricci/modules/cluster/clumon/init.d/modclusterd 2008/05/12 15:13:33 1.2.2.3
@@ -37,66 +37,122 @@
# If we're not configured, then don't start anything.
#
[ "${NETWORKING}" = "yes" ] || exit 1
-#[ -f "$CFG_FILE" ] || exit 0
+modclusterd_status() {
+ if [ -f "$PIDFILE" ]; then
+ status -p "$PIDFILE" "$MODCLUSTERD"
+ ret=$?
+ else
+ status "$MODCLUSTERD"
+ ret=$?
+ fi
+ return $ret
+}
+
+check_modclusterd_lockfiles() {
+ modclusterd_status >& /dev/null
+ ret=$?
+ if [ "$ret" -eq 1 ] || [ "$ret" -eq 2 ]; then
+ # stale pid and/or lockfile
+ rm -f -- "$PIDFILE" "$LOCKFILE"
+ fi
+ return 0
+}
+
+modclusterd_stop() {
+ modclusterd_status >& /dev/null
+ ret=$?
+
+ if [ "$ret" -ne 0 ]; then
+ # already stopped - no error
+ check_modclusterd_lockfiles
+ return 0
+ fi
+
+ killproc "$MODCLUSTERD" SIGTERM
+
+ modclusterd_status >& /dev/null
+ ret=$?
+
+ max_wait=10
+ cur_wait=0
+ while [ "$ret" -eq 0 ] && [ $cur_wait -lt $max_wait ]; do
+ sleep 1
+ cur_wait=`expr $cur_wait + 1`
+ modclusterd_status >& /dev/null
+ ret=$?
+ done
+
+ modclusterd_status >& /dev/null
+ ret=$?
+
+ if [ "$ret" -ne 0 ]; then
+ rm -f -- "$PIDFILE" "$LOCKFILE"
+ return 0
+ fi
+
+ return 1
+}
case $1 in
start)
echo -n $"Starting $ID: "
- daemon $MODCLUSTERD
- rtrn=$?
- if [ $rtrn -eq 0 ]; then
- touch $LOCKFILE
- /usr/bin/logger -t $MODCLUSTERD "startup succeeded"
+ check_modclusterd_lockfiles
+ daemon "$MODCLUSTERD"
+ ret=$?
+ if [ "$ret" -eq 0 ]; then
+ touch -- "$LOCKFILE"
+ /usr/bin/logger -t "$MODCLUSTERD" -- "startup succeeded"
else
- /usr/bin/logger -t $MODCLUSTERD "startup failed"
- rtrn=1
+ /usr/bin/logger -t "$MODCLUSTERD" -- "startup failed"
+ ret=1
fi
echo
;;
restart)
$0 stop
- sleep 8
$0 start
- rtrn=$?
+ ret=$?
;;
status)
- status $MODCLUSTERD
- rtrn=$?
+ modclusterd_status
+ ret=$?
;;
stop)
echo -n "Shutting down $ID: "
- killproc $MODCLUSTERD SIGTERM
- rtrn=$?
- if [ $rtrn -eq 0 ]; then
- rm -f $PIDFILE
- rm -f $LOCKFILE
- /usr/bin/logger -t $MODCLUSTERD "shutdown succeeded"
+ modclusterd_stop
+ ret=$?
+ if [ "$ret" -eq 0 ]; then
+ /usr/bin/logger -t "$MODCLUSTERD" -- "shutdown succeeded"
else
- /usr/bin/logger -t $MODCLUSTERD "shutdown failed"
- rtrn=1
+ /usr/bin/logger -t "$MODCLUSTERD" -- "shutdown failed"
+ ret=1
fi
echo
;;
condrestart)
- if [ -f ${PIDFILE} ] ; then
+ if [ -f "$PIDFILE" ]; then
$0 restart
- rtrn=$?
+ ret=$?
fi
;;
+ try-restart)
+ ret=3
+ ;;
+
reload)
- rtrn=3
+ ret=3
;;
*)
echo $"Usage: $0 {start|stop|reload|restart|status}"
- rtrn=3
+ ret=3
;;
esac
-exit $rtrn
+exit $ret
--- conga/ricci/modules/cluster/clumon/src/common/Cluster.cpp 2008/01/17 17:38:38 1.6.2.2
+++ conga/ricci/modules/cluster/clumon/src/common/Cluster.cpp 2008/05/12 15:13:33 1.6.2.3
@@ -25,7 +25,8 @@
#include <stdio.h>
extern "C" {
-# include <libcman.h>
+ #include <limits.h>
+ #include <libcman.h>
}
using namespace std;
--- conga/ricci/modules/storage/ContentFS.cpp 2008/01/17 17:38:39 1.5.2.1
+++ conga/ricci/modules/storage/ContentFS.cpp 2008/05/12 15:13:33 1.5.2.2
@@ -28,6 +28,7 @@
#include "BDFactory.h"
#include "defines.h"
#include "utils.h"
+#include <algorithm>
using namespace std;
--- conga/ricci/modules/storage/ExtendedFS.cpp 2008/01/17 17:38:39 1.7.2.2
+++ conga/ricci/modules/storage/ExtendedFS.cpp 2008/05/12 15:13:33 1.7.2.3
@@ -27,8 +27,9 @@
#include "UMountError.h"
#include "FileMagic.h"
-
+#include <algorithm>
#include <iostream>
+
using namespace std;
--- conga/ricci/modules/storage/LV.cpp 2008/01/17 17:38:39 1.6.2.4
+++ conga/ricci/modules/storage/LV.cpp 2008/05/12 15:13:33 1.6.2.5
@@ -124,7 +124,7 @@
long long min = utils::to_long(xml.get_attr("min"));
long long max = utils::to_long(xml.get_attr("max"));
long long step = utils::to_long(xml.get_attr("step"));
- long long min_size = (long long ) (size * (usage / 100.0));
+ long long min_size = (long long) (size * usage) / 100;
if (min_size > min)
min = min_size;
else if (min_size > max)
--- conga/ricci/modules/storage/Mapper.cpp 2008/01/17 17:38:39 1.3.2.1
+++ conga/ricci/modules/storage/Mapper.cpp 2008/05/12 15:13:33 1.3.2.2
@@ -26,6 +26,7 @@
#include "BDFactory.h"
#include "MapperFactory.h"
#include "MidAir.h"
+#include <algorithm>
using namespace std;
--- conga/ricci/modules/storage/MountHandler.cpp 2008/01/17 17:38:39 1.5.2.2
+++ conga/ricci/modules/storage/MountHandler.cpp 2008/05/12 15:13:33 1.5.2.3
@@ -37,8 +37,9 @@
#include <sys/file.h>
#include <errno.h>
-
+#include <algorithm>
#include <iostream>
+
using namespace std;
--- conga/ricci/modules/storage/PTSource.cpp 2008/01/17 17:38:39 1.2.2.1
+++ conga/ricci/modules/storage/PTSource.cpp 2008/05/12 15:13:33 1.2.2.2
@@ -25,6 +25,7 @@
#include "PartitionTable.h"
#include "parted_wrapper.h"
+#include <algorithm>
using namespace std;
--- conga/ricci/modules/storage/PV.cpp 2008/01/17 17:38:39 1.4.2.3
+++ conga/ricci/modules/storage/PV.cpp 2008/05/12 15:13:33 1.4.2.4
@@ -26,6 +26,7 @@
#include "MapperFactory.h"
#include "utils.h"
#include "LVMClusterLockingError.h"
+#include <algorithm>
using namespace std;
--- conga/ricci/modules/storage/Partition.cpp 2008/01/17 17:38:39 1.3.2.1
+++ conga/ricci/modules/storage/Partition.cpp 2008/05/12 15:13:33 1.3.2.2
@@ -30,6 +30,7 @@
#include "ContentExtendedPartition.h"
#include "PV.h"
+#include <algorithm>
using namespace std;
--- conga/ricci/modules/storage/PartitionTable.cpp 2008/01/17 17:38:39 1.5.2.1
+++ conga/ricci/modules/storage/PartitionTable.cpp 2008/05/12 15:13:33 1.5.2.2
@@ -28,7 +28,7 @@
#include "MapperFactory.h"
#include "utils.h"
-
+#include <algorithm>
#include <iostream>
--- conga/ricci/modules/storage/parted_wrapper.cpp 2008/01/17 17:38:39 1.8.2.4
+++ conga/ricci/modules/storage/parted_wrapper.cpp 2008/05/12 15:13:33 1.8.2.5
@@ -24,8 +24,9 @@
#include "parted_wrapper.h"
#include "utils.h"
-
+#include <algorithm>
#include <iostream>
+
using namespace std;
@@ -667,11 +668,13 @@
String s = utils::to_lower(utils::strip(size_str));
long long multiplier;
// parted defines 1KB as 1000 bytes.
- if (s.find("b") == s.npos)
+ if (s.find("b") == s.npos) {
multiplier = 1000 * 1000; // by old parted behavior, size is in MB
- else {
+ return (long long) utils::to_long(s) * multiplier;
+ } else {
if (s.size() < 3)
throw String("parted size has an invalid value: ") + s;
+ /* This path should never be hit on RHEL5 and later. */
multiplier = 1;
if (s[s.size()-2] == 'k')
multiplier = 1000;
@@ -681,7 +684,6 @@
multiplier = 1000 * 1000 * 1000;
else if (s[s.size()-2] == 't')
multiplier = (long long) 1000 * 1000 * 1000 * 1000;
+ return (long long) utils::to_float(s) * multiplier;
}
-
- return (long long) utils::to_float(s) * multiplier;
}
next reply other threads:[~2008-05-12 15:13 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-05-12 15:13 rmccabe [this message]
-- strict thread matches above, loose matches on Subject: below --
2008-07-29 19:47 [Cluster-devel] conga ./clustermon.spec.in.in ./conga.spec.in. rmccabe
2008-07-28 17:49 rmccabe
2008-04-18 3:31 rmccabe
2008-04-11 6:54 rmccabe
2008-04-11 6:48 rmccabe
2008-04-07 20:11 rmccabe
2008-02-12 17:40 rmccabe
2008-01-29 22:02 rmccabe
2007-08-20 16:23 rmccabe
2007-08-13 19:06 rmccabe
2007-08-09 22:02 rmccabe
2007-08-08 21:24 rmccabe
2007-06-27 7:43 rmccabe
2007-05-01 15:57 rmccabe
2007-04-11 20:15 rmccabe
2007-04-11 19:23 rmccabe
2007-03-20 20:52 kupcevic
2007-02-07 1:36 kupcevic
2007-02-05 22:01 kupcevic
2007-02-05 20:08 rmccabe
2007-02-05 12:12 kupcevic
2007-01-23 22:34 kupcevic
2007-01-17 16:36 kupcevic
2007-01-17 14:57 kupcevic
2007-01-17 14:32 kupcevic
2006-12-13 19:21 kupcevic
2006-12-12 13:53 kupcevic
2006-11-17 20:46 kupcevic
2006-11-17 0:59 kupcevic
2006-11-16 19:35 kupcevic
2006-11-02 0:46 rmccabe
2006-11-01 23:11 kupcevic
2006-11-01 20:43 rmccabe
2006-10-31 20:34 kupcevic
2006-10-25 18:47 rmccabe
2006-10-25 16:35 kupcevic
2006-10-16 21:01 kupcevic
2006-10-16 15:56 kupcevic
2006-10-04 16:32 kupcevic
2006-09-26 5:21 kupcevic
2006-08-22 23:01 kupcevic
2006-08-22 20:12 kupcevic
2006-08-16 6:34 kupcevic
2006-08-15 4:15 kupcevic
2006-08-09 21:13 kupcevic
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20080512151336.21607.qmail@sourceware.org \
--to=rmccabe@sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.