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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).