[Cluster-devel] cluster/rgmanager ChangeLog include/reslist.h ...
lhh at sourceware.org
lhh at sourceware.org
Thu May 3 15:02:56 UTC 2007
CVSROOT: /cvs/cluster
Module name: cluster
Branch: RHEL4
Changes by: lhh at sourceware.org 2007-05-03 15:02:48
Modified files:
rgmanager : ChangeLog
rgmanager/include: reslist.h
rgmanager/make : defines.mk.input
rgmanager/src/clulib: Makefile alloc.c clulog.c msgsimple.c
vft.c
rgmanager/src/daemons: groups.c rg_state.c
rgmanager/src/daemons/tests: delta-test004-test005.expected
delta-test005-test006.expected
delta-test006-test007.expected
delta-test007-test008.expected
delta-test008-test009.expected
delta-test009-test010.expected
delta-test010-test011.expected
delta-test011-test012.expected
delta-test012-test013.expected
delta-test013-test014.expected
delta-test014-test015.expected
delta-test015-test016.expected
delta-test016-test017.expected
test005.expected test006.expected
test007.expected test008.expected
test009.expected test010.expected
test011.expected test012.expected
test013.expected test014.expected
test015.expected test016.expected
test017.expected
rgmanager/src/resources: fs.sh nfsclient.sh nfsexport.sh
rgmanager/src/utils: clulog.c
Added files:
rgmanager/src/clulib: wrap_lock.c
Log message:
2007-05-03 Lon Hohberger <lhh at redhat.com>
* Merge patch from Crosswalk development team:
* Scott Cannata
* Henry Harris
* Leonard Maiorani
* src/daemons/groups.c, rg_state.c: Apply patch from Andrey
Mirkin to fix bug #237144; prevents exclusive services from
being accidentally (or intentionally) being started on the
same node
* src/daemons/restree.c: Don't print (null) when an attr
isn't inherited
* src/daemons/reslist.c: Try all direct ancestors while
performing run-time inheritance resolution #231521
* src/daemons/tests/*: Clean up test cases; don't look for (null)
any more
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/ChangeLog.diff?cvsroot=cluster&only_with_tag=RHEL4&r1=1.5.2.24&r2=1.5.2.25
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/include/reslist.h.diff?cvsroot=cluster&only_with_tag=RHEL4&r1=1.8.2.6&r2=1.8.2.7
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/make/defines.mk.input.diff?cvsroot=cluster&only_with_tag=RHEL4&r1=1.3&r2=1.3.2.1
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/src/clulib/wrap_lock.c.diff?cvsroot=cluster&only_with_tag=RHEL4&r1=NONE&r2=1.1.2.1
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/src/clulib/Makefile.diff?cvsroot=cluster&only_with_tag=RHEL4&r1=1.4.2.2&r2=1.4.2.3
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/src/clulib/alloc.c.diff?cvsroot=cluster&only_with_tag=RHEL4&r1=1.3.2.4&r2=1.3.2.5
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/src/clulib/clulog.c.diff?cvsroot=cluster&only_with_tag=RHEL4&r1=1.2.2.3&r2=1.2.2.4
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/src/clulib/msgsimple.c.diff?cvsroot=cluster&only_with_tag=RHEL4&r1=1.4.2.1&r2=1.4.2.2
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/src/clulib/vft.c.diff?cvsroot=cluster&only_with_tag=RHEL4&r1=1.7.2.7&r2=1.7.2.8
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/src/daemons/groups.c.diff?cvsroot=cluster&only_with_tag=RHEL4&r1=1.8.2.18&r2=1.8.2.19
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/src/daemons/rg_state.c.diff?cvsroot=cluster&only_with_tag=RHEL4&r1=1.4.2.19&r2=1.4.2.20
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/src/daemons/tests/delta-test004-test005.expected.diff?cvsroot=cluster&only_with_tag=RHEL4&r1=1.1.2.3&r2=1.1.2.4
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/src/daemons/tests/delta-test005-test006.expected.diff?cvsroot=cluster&only_with_tag=RHEL4&r1=1.1.2.3&r2=1.1.2.4
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/src/daemons/tests/delta-test006-test007.expected.diff?cvsroot=cluster&only_with_tag=RHEL4&r1=1.1.2.3&r2=1.1.2.4
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/src/daemons/tests/delta-test007-test008.expected.diff?cvsroot=cluster&only_with_tag=RHEL4&r1=1.1.2.3&r2=1.1.2.4
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/src/daemons/tests/delta-test008-test009.expected.diff?cvsroot=cluster&only_with_tag=RHEL4&r1=1.1.2.3&r2=1.1.2.4
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/src/daemons/tests/delta-test009-test010.expected.diff?cvsroot=cluster&only_with_tag=RHEL4&r1=1.1.2.3&r2=1.1.2.4
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/src/daemons/tests/delta-test010-test011.expected.diff?cvsroot=cluster&only_with_tag=RHEL4&r1=1.1.2.3&r2=1.1.2.4
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/src/daemons/tests/delta-test011-test012.expected.diff?cvsroot=cluster&only_with_tag=RHEL4&r1=1.1.2.3&r2=1.1.2.4
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/src/daemons/tests/delta-test012-test013.expected.diff?cvsroot=cluster&only_with_tag=RHEL4&r1=1.1.2.3&r2=1.1.2.4
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/src/daemons/tests/delta-test013-test014.expected.diff?cvsroot=cluster&only_with_tag=RHEL4&r1=1.1.2.3&r2=1.1.2.4
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/src/daemons/tests/delta-test014-test015.expected.diff?cvsroot=cluster&only_with_tag=RHEL4&r1=1.1.2.3&r2=1.1.2.4
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/src/daemons/tests/delta-test015-test016.expected.diff?cvsroot=cluster&only_with_tag=RHEL4&r1=1.1.2.3&r2=1.1.2.4
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/src/daemons/tests/delta-test016-test017.expected.diff?cvsroot=cluster&only_with_tag=RHEL4&r1=1.1.2.1&r2=1.1.2.2
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/src/daemons/tests/test005.expected.diff?cvsroot=cluster&only_with_tag=RHEL4&r1=1.1.2.3&r2=1.1.2.4
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/src/daemons/tests/test006.expected.diff?cvsroot=cluster&only_with_tag=RHEL4&r1=1.1.2.3&r2=1.1.2.4
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/src/daemons/tests/test007.expected.diff?cvsroot=cluster&only_with_tag=RHEL4&r1=1.1.2.3&r2=1.1.2.4
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/src/daemons/tests/test008.expected.diff?cvsroot=cluster&only_with_tag=RHEL4&r1=1.1.2.3&r2=1.1.2.4
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/src/daemons/tests/test009.expected.diff?cvsroot=cluster&only_with_tag=RHEL4&r1=1.1.2.3&r2=1.1.2.4
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/src/daemons/tests/test010.expected.diff?cvsroot=cluster&only_with_tag=RHEL4&r1=1.1.2.3&r2=1.1.2.4
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/src/daemons/tests/test011.expected.diff?cvsroot=cluster&only_with_tag=RHEL4&r1=1.1.2.3&r2=1.1.2.4
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/src/daemons/tests/test012.expected.diff?cvsroot=cluster&only_with_tag=RHEL4&r1=1.1.2.3&r2=1.1.2.4
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/src/daemons/tests/test013.expected.diff?cvsroot=cluster&only_with_tag=RHEL4&r1=1.1.2.3&r2=1.1.2.4
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/src/daemons/tests/test014.expected.diff?cvsroot=cluster&only_with_tag=RHEL4&r1=1.1.2.3&r2=1.1.2.4
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/src/daemons/tests/test015.expected.diff?cvsroot=cluster&only_with_tag=RHEL4&r1=1.1.2.3&r2=1.1.2.4
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/src/daemons/tests/test016.expected.diff?cvsroot=cluster&only_with_tag=RHEL4&r1=1.1.2.3&r2=1.1.2.4
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/src/daemons/tests/test017.expected.diff?cvsroot=cluster&only_with_tag=RHEL4&r1=1.1.2.1&r2=1.1.2.2
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/src/resources/fs.sh.diff?cvsroot=cluster&only_with_tag=RHEL4&r1=1.4.2.21&r2=1.4.2.22
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/src/resources/nfsclient.sh.diff?cvsroot=cluster&only_with_tag=RHEL4&r1=1.3.2.11&r2=1.3.2.12
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/src/resources/nfsexport.sh.diff?cvsroot=cluster&only_with_tag=RHEL4&r1=1.4.2.5&r2=1.4.2.6
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/src/utils/clulog.c.diff?cvsroot=cluster&only_with_tag=RHEL4&r1=1.1.2.2&r2=1.1.2.3
--- cluster/rgmanager/ChangeLog 2006/11/03 16:26:18 1.5.2.24
+++ cluster/rgmanager/ChangeLog 2007/05/03 15:02:45 1.5.2.25
@@ -1,3 +1,21 @@
+2007-05-03 Lon Hohberger <lhh at redhat.com>
+ * Merge patch from Crosswalk development team:
+ * Scott Cannata
+ * Henry Harris
+ * Leonard Maiorani
+ * src/daemons/groups.c, rg_state.c: Apply patch from Andrey
+ Mirkin to fix bug #237144; prevents exclusive services from
+ being accidentally (or intentionally) being started on the
+ same node
+ * src/daemons/restree.c: Don't print (null) when an attr
+ isn't inherited
+ * src/daemons/reslist.c: Try all direct ancestors while
+ performing run-time inheritance resolution #231521
+ * src/daemons/tests/*: Clean up test cases; don't look for (null)
+ any more
+
+=====
+
2006-11-03 Lon Hohberger <lhh at redhat.com>
* src/daemons/restree.c: Merge patch from Jeff Layton to instrument
res_exec more closely. (#213246)
--- cluster/rgmanager/include/reslist.h 2007/03/20 19:40:06 1.8.2.6
+++ cluster/rgmanager/include/reslist.h 2007/05/03 15:02:46 1.8.2.7
@@ -25,11 +25,6 @@
#include <libxml/xpath.h>
-#define RA_PRIMARY (1<<0)
-#define RA_UNIQUE (1<<1)
-#define RA_REQUIRED (1<<2)
-#define RA_INHERIT (1<<3)
-
#define RF_INLINE (1<<0)
#define RF_DEFINED (1<<1)
#define RF_NEEDSTART (1<<2) /** Used when adding/changing resources */
@@ -70,11 +65,24 @@
#include <res-ocf.h>
+typedef enum {
+/*
+#define RA_PRIMARY (1<<0)
+#define RA_UNIQUE (1<<1)
+#define RA_REQUIRED (1<<2)
+#define RA_INHERIT (1<<3)
+ */
+ RA_PRIMARY = (1<<0),
+ RA_UNIQUE = (1<<1),
+ RA_REQUIRED= (1<<2),
+ RA_INHERIT = (1<<3),
+ RA_SPEC = (1<<4)
+} ra_flag_t;
+
typedef struct _resource_attribute {
- int ra_flags;
- /* XXX possible alignment problem on ia64 */
char *ra_name;
char *ra_value;
+ ra_flag_t ra_flags;
} resource_attr_t;
--- cluster/rgmanager/make/Attic/defines.mk.input 2004/10/27 20:26:22 1.3
+++ cluster/rgmanager/make/Attic/defines.mk.input 2007/05/03 15:02:46 1.3.2.1
@@ -32,3 +32,11 @@
# Default CFLAGS
CFLAGS += -DSHAREDIR=\"@SHAREDIR@\" -Wall ${INCLUDE}
+
+#
+# Wrappers around pthread_mutex / pthread_rwlock calls for deadlock
+# detection (and other things)
+#
+#CFLAGS += -DSHAREDIR=\"/usr/share/cluster\" -Wall ${INCLUDE} -DWRAP_LOCKS -DMAX_DISPATCH_RETRIES=3
+#LDFLAGS += -Wl,-wrap,pthread_mutex_lock,-wrap,pthread_mutex_unlock,-wrap,pthread_rwlock_rdlock,-wrap,pthread_rwlock_wrlock,-wrap,pthread_rwlock_unlock
+
/cvs/cluster/cluster/rgmanager/src/clulib/wrap_lock.c,v --> standard output
revision 1.1.2.1
--- cluster/rgmanager/src/clulib/wrap_lock.c
+++ - 2007-05-03 15:02:50.265394000 +0000
@@ -0,0 +1,224 @@
+/*
+ Copyright Red Hat, Inc. 2007
+ Copyright Crosswalk 2006-2007
+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by the
+ Free Software Foundation; either version 2, or (at your option) any
+ later version.
+
+ This program is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; see the file COPYING. If not, write to the
+ Free Software Foundation, Inc., 675 Mass Ave, Cambridge,
+ MA 02139, USA.
+*/
+#ifdef WRAP_LOCKS
+#include <stdio.h>
+#include <sys/types.h>
+#include <gettid.h>
+#include <pthread.h>
+#include <string.h>
+#include <errno.h>
+#include <string.h>
+#include <signal.h>
+
+int __real_pthread_mutex_lock(pthread_mutex_t *lock);
+int
+__wrap_pthread_mutex_lock(pthread_mutex_t *lock)
+{
+ int status;
+ struct timespec delay;
+
+ while (1) {
+ status = __real_pthread_mutex_lock(lock);
+
+ switch(status) {
+ case EDEADLK:
+ /* Already own it: Note the error, but continue */
+ fprintf(stderr, "[%d] %s(%p): %s; continuing\n",
+ gettid(),
+ __FUNCTION__, lock, strerror(status));
+ /* deliberate fallthrough */
+ case 0:
+ return 0;
+ case EBUSY:
+ /* Try again */
+ break;
+ default:
+ /* Other return codes */
+ fprintf(stderr, "[%d] %s(%p): %s\n", gettid(),
+ __FUNCTION__, lock, strerror(status));
+ raise(SIGSEGV);
+ /* EINVAL? */
+ return 0;
+ }
+
+ delay.tv_sec = 0;
+ delay.tv_nsec = 100000;
+ nanosleep(&delay, NULL);
+ }
+
+ /* Not reached */
+ return 0;
+}
+
+
+int __real_pthread_mutex_unlock(pthread_mutex_t *lock);
+int
+__wrap_pthread_mutex_unlock(pthread_mutex_t *lock)
+{
+ int status;
+ struct timespec delay;
+
+ while (1) {
+ status = __real_pthread_mutex_unlock(lock);
+
+ switch(status) {
+ case EPERM:
+ /* Don't own it: Note the error, but continue */
+ fprintf(stderr, "[%d] %s(%p): %s; continuing\n",
+ gettid(),
+ __FUNCTION__, lock, strerror(status));
+ /* deliberate fallthrough */
+ case 0:
+ return 0;
+ default:
+ fprintf(stderr, "[%d] %s(%p): %s\n", gettid(),
+ __FUNCTION__, lock, strerror(status));
+ raise(SIGSEGV);
+ return 0;
+ }
+
+ delay.tv_sec = 0;
+ delay.tv_nsec = 100000;
+ nanosleep(&delay, NULL);
+ }
+
+ /* Not reached */
+ return 0;
+}
+
+
+int __real_pthread_rwlock_rdlock(pthread_rwlock_t *lock);
+int
+__wrap_pthread_rwlock_rdlock(pthread_rwlock_t *lock)
+{
+ int status;
+ struct timespec delay;
+
+ while (1) {
+ status = __real_pthread_rwlock_rdlock(lock);
+
+ switch(status) {
+ case EDEADLK:
+ /* Already own it: Note the error, but continue */
+ fprintf(stderr, "[%d] %s(%p): %s; continuing\n",
+ gettid(),
+ __FUNCTION__, lock, strerror(status));
+ /* deliberate fallthrough */
+ case 0:
+ return 0;
+ case EBUSY:
+ /* Try again */
+ break;
+ default:
+ /* Other return codes */
+ fprintf(stderr, "[%d] %s(%p): %s\n", gettid(),
+ __FUNCTION__, lock, strerror(status));
+ raise(SIGSEGV);
+ /* EINVAL? */
+ return 0;
+ }
+
+ delay.tv_sec = 0;
+ delay.tv_nsec = 100000;
+ nanosleep(&delay, NULL);
+ }
+
+ /* Not reached */
+ return 0;
+}
+
+
+int __real_pthread_rwlock_wrlock(pthread_rwlock_t *lock);
+int
+__wrap_pthread_rwlock_wrlock(pthread_rwlock_t *lock)
+{
+ int status;
+ struct timespec delay;
+
+ while (1) {
+ status = __real_pthread_rwlock_wrlock(lock);
+
+ switch(status) {
+ case EDEADLK:
+ /* Already own it: Note the error, but continue */
+ fprintf(stderr, "[%d] %s(%p): %s; continuing\n",
+ gettid(),
+ __FUNCTION__, lock, strerror(status));
+ /* deliberate fallthrough */
+ case 0:
+ return 0;
+ case EBUSY:
+ /* Try again */
+ break;
+ default:
+ /* Other return codes */
+ fprintf(stderr, "[%d] %s(%p): %s\n", gettid(),
+ __FUNCTION__, lock, strerror(status));
+ raise(SIGSEGV);
+ /* EINVAL? */
+ return 0;
+ }
+
+ delay.tv_sec = 0;
+ delay.tv_nsec = 100000;
+ nanosleep(&delay, NULL);
+ }
+
+ /* Not reached */
+ return 0;
+}
+
+
+int __real_pthread_rwlock_unlock(pthread_rwlock_t *lock);
+int
+__wrap_pthread_rwlock_unlock(pthread_rwlock_t *lock)
+{
+ int status;
+ struct timespec delay;
+
+ while (1) {
+ status = __real_pthread_rwlock_unlock(lock);
+
+ switch(status) {
+ case EPERM:
+ /* Don't own it: Note the error, but continue */
+ fprintf(stderr, "[%d] %s(%p): %s; continuing\n",
+ gettid(),
+ __FUNCTION__, lock, strerror(status));
+ /* deliberate fallthrough */
+ case 0:
+ return 0;
+ default:
+ fprintf(stderr, "[%d] %s(%p): %s\n", gettid(),
+ __FUNCTION__, lock, strerror(status));
+ raise(SIGSEGV);
+ return 0;
+ }
+
+ delay.tv_sec = 0;
+ delay.tv_nsec = 100000;
+ nanosleep(&delay, NULL);
+ }
+
+ /* Not reached */
+ return 0;
+}
+#endif
+
--- cluster/rgmanager/src/clulib/Makefile 2005/01/25 17:22:42 1.4.2.2
+++ cluster/rgmanager/src/clulib/Makefile 2007/05/03 15:02:46 1.4.2.3
@@ -30,7 +30,7 @@
uninstall:
libclulib.a: clulog.o daemon_init.o signals.o msgsimple.o \
- vft.o gettid.o rg_strings.o
+ vft.o gettid.o rg_strings.o wrap_lock.o
${AR} cru $@ $^
ranlib $@
--- cluster/rgmanager/src/clulib/alloc.c 2006/01/20 16:25:24 1.3.2.4
+++ cluster/rgmanager/src/clulib/alloc.c 2007/05/03 15:02:46 1.3.2.5
@@ -155,7 +155,11 @@
#ifndef NOPTHREADS
#include <pthread.h>
+#ifdef WRAP_LOCKS
+static pthread_mutex_t _alloc_mutex = PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP;
+#else
static pthread_mutex_t _alloc_mutex = PTHREAD_MUTEX_INITIALIZER;
+#endif /* WRAP_LOCKS */
#else
#define pthread_mutex_trylock(x) (0)
#define pthread_mutex_lock(x)
--- cluster/rgmanager/src/clulib/clulog.c 2006/10/05 17:52:27 1.2.2.3
+++ cluster/rgmanager/src/clulib/clulog.c 2007/05/03 15:02:46 1.2.2.4
@@ -20,7 +20,7 @@
/** @file
* Library routines for communicating with the logging daemon.
*
- * $Id: clulog.c,v 1.2.2.3 2006/10/05 17:52:27 lhh Exp $
+ * $Id: clulog.c,v 1.2.2.4 2007/05/03 15:02:46 lhh Exp $
*
* Author: Jeff Moyer <moyer at missioncriticallinux.com>
*/
@@ -50,7 +50,7 @@
#include <string.h>
-static const char *version __attribute__ ((unused)) = "$Revision: 1.2.2.3 $";
+static const char *version __attribute__ ((unused)) = "$Revision: 1.2.2.4 $";
#ifdef DEBUG
#include <assert.h>
@@ -70,7 +70,12 @@
static int syslog_facility = LOG_DAEMON;
static char *daemon_name = NULL;
static pid_t daemon_pid = -1;
+
+#ifdef WRAP_LOCKS
+static pthread_mutex_t log_mutex = PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP;
+#else
static pthread_mutex_t log_mutex = PTHREAD_MUTEX_INITIALIZER;
+#endif
CODE logger_prioritynames[] =
{ {"emerg", LOG_EMERG},
--- cluster/rgmanager/src/clulib/msgsimple.c 2006/05/12 21:28:31 1.4.2.1
+++ cluster/rgmanager/src/clulib/msgsimple.c 2007/05/03 15:02:46 1.4.2.2
@@ -51,6 +51,8 @@
int
msg_send_simple(int fd, int cmd, int arg1, int arg2)
{
+ int status;
+ int my_errno;
generic_msg_hdr msg;
msg.gh_magic = GENERIC_HDR_MAGIC;
@@ -60,7 +62,25 @@
msg.gh_arg2 = arg2;
swab_generic_msg_hdr(&msg);
- return msg_send(fd, (void *) &msg, sizeof (msg));
+ my_errno = 0;
+ status = msg_send(fd, (void *) &msg, sizeof (msg));
+ my_errno = errno;
+
+ if (status <= 0)
+ {
+ /*
+ * Should never be the case since msg_send() is
+ * wrapped in a retry loop. Give one more try
+ * calling msg_send() for a few errnos, others, return
+ * error as they cannot and should not be retried.
+ */
+ if ((my_errno == EINTR) || (my_errno == EAGAIN) ||
+ (my_errno == ENOSPC)) {
+ status = msg_send(fd, (void *) &msg, sizeof (msg));
+ }
+ }
+
+ return (status);
}
@@ -95,7 +115,7 @@
fprintf(stderr, "fd%d peek: %d/%d bytes\n", fd,
ret, (int)sizeof (generic_msg_hdr));
else if (ret == 0)
- errno = EAGAIN;
+ errno = ECONNRESET;
return -1;
}
@@ -110,7 +130,6 @@
* allocate enough memory to receive the header + diff buffer
*/
*buf = malloc(peek_msg.gh_length);
- memset(*buf, 0, peek_msg.gh_length);
if (!*buf) {
fprintf(stderr, "%s: malloc: %s", __FUNCTION__,
@@ -118,6 +137,8 @@
return -1;
}
+ memset(*buf, 0, peek_msg.gh_length);
+
/*
* Now, do the real receive. 2 second timeout, if none specified.
*/
--- cluster/rgmanager/src/clulib/vft.c 2006/12/13 18:19:56 1.7.2.7
+++ cluster/rgmanager/src/clulib/vft.c 2007/05/03 15:02:46 1.7.2.8
@@ -54,8 +54,13 @@
* TODO: We could make it thread safe, but this might be unnecessary work
* Solution: Super-coarse-grained-bad-code-locking!
*/
+#ifdef WRAP_LOCKS
+static pthread_mutex_t key_list_mutex = PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP;
+static pthread_mutex_t vf_mutex = PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP;
+#else
static pthread_mutex_t key_list_mutex = PTHREAD_MUTEX_INITIALIZER;
static pthread_mutex_t vf_mutex = PTHREAD_MUTEX_INITIALIZER;
+#endif /* WRAP_LOCKS */
static pthread_t vf_thread = (pthread_t)-1;
static int thread_ready = 0;
static vf_vote_cb_t default_vote_cb = NULL;
@@ -332,6 +337,7 @@
struct timeval tv;
fd_set rfds;
int nready, x;
+ int myerrno = 0;
/* Set up for the select */
tv.tv_sec = timeout;
@@ -351,12 +357,30 @@
FD_SET(peer_fds[x], &rfds);
nready = select(MAX_FDS, &rfds, NULL, NULL, &tv);
- if (nready <= -1) {
- if (nready == 0)
- printf("VF Abort: Timed out!\n");
- else
- printf("VF Abort: %s\n",
- strerror(errno));
+
+ /*
+ * fix, rhat erroneous check of nready==0 and
+ * not retrying on EINTR.
+ */
+ if (nready < 0)
+ {
+ myerrno = errno;
+ fprintf(stderr, "VF Abort: %s\n", strerror(myerrno));
+
+ if (myerrno == EINTR) {
+ tv.tv_sec = timeout;
+ tv.tv_usec = 0;
+ continue;
+ }
+
+ errno = myerrno;
+ return 0;
+ }
+
+ if (nready == 0) {
+ fprintf(stderr,
+ "VF Abort: Timed out!\n");
+
return 0;
}
@@ -768,8 +792,13 @@
if (!fp)
return -1;
+#if defined(__sparc__) || defined(__hppa__) || defined(__sparc64__) || defined (__hppa64__)
+ rv = fscanf(fp,"%ld.%d %ld.%d\n", &tv->tv_sec, &tv->tv_usec,
+ &junk.tv_sec, &junk.tv_usec);
+#else
rv = fscanf(fp,"%ld.%ld %ld.%ld\n", &tv->tv_sec, &tv->tv_usec,
&junk.tv_sec, &junk.tv_usec);
+#endif
fclose(fp);
if (rv != 4) {
@@ -830,6 +859,15 @@
free(key_node->kn_data);
key_node->kn_datalen = vnp->vn_datalen;
key_node->kn_data = malloc(vnp->vn_datalen);
+
+ /*
+ * Need to check return of malloc always
+ */
+ if (key_node->kn_data == NULL) {
+ fprintf (stderr, "malloc fail err=%d\n", errno);
+ return -1;
+ }
+
memcpy(key_node->kn_data, vnp->vn_data, vnp->vn_datalen);
free(vnp);
@@ -844,15 +882,42 @@
struct timeval tv;
fd_set rfds;
generic_msg_hdr *hdrp = NULL;
+ int myerrno = 0;
- FD_ZERO(&rfds);
- max = msg_fill_fdset(&rfds, MSG_ALL, MSGP_VFS);
+ while (1) {
+ FD_ZERO(&rfds);
+ max = msg_fill_fdset(&rfds, MSG_ALL, MSGP_VFS);
- tv.tv_sec = 1;
- tv.tv_usec = 0;
- nready = select(max + 1, &rfds, NULL, NULL, &tv);
- if (nready <= 0)
- return;
+ tv.tv_sec = 1;
+ tv.tv_usec = 0;
+
+ nready = select(max + 1, &rfds, NULL, NULL, &tv);
+ if (nready < 0)
+ {
+ myerrno = errno;
+#ifdef NOT_NOW
+ /*
+ * i think red hat wants to return w/ EINTR
+ */
+ if (myerrno == EINTR)
+ {
+ continue;
+ }
+#endif /* NOT_NOW */
+
+ errno = myerrno;
+ return;
+ }
+
+ if (nready == 0) {
+ return;
+ }
+
+ /*
+ * positive return value, break and process.
+ */
+ break;
+ }
while (nready) {
fd = msg_next_fd(&rfds);
@@ -970,6 +1035,12 @@
}
va = malloc(sizeof(*va));
+
+ if (va == NULL) {
+ fprintf (stderr, "vf_init: malloc fail2 err=%d\n", errno);
+ return -1;
+ }
+
va->local_node_id = my_node_id;
va->port = my_port;
@@ -1071,6 +1142,13 @@
}
newnode = malloc(sizeof(*newnode));
+
+ if (newnode == NULL) {
+ fprintf(stderr, "malloc fail3 err=%d\n", errno);
+ pthread_mutex_unlock(&key_list_mutex);
+ return -1;
+ }
+
newnode->kn_data = NULL;
memset(newnode,0,sizeof(*newnode));
newnode->kn_keyid = strdup(keyid);
@@ -1178,6 +1256,8 @@
void *lockp = NULL;
int l;
char lock_name[256];
+ int my_status;
+ int ret_status = 0;
if (!data || !datalen || !keyid || !strlen(keyid) || !membership)
return -1;
@@ -1187,7 +1267,6 @@
snprintf(lock_name, sizeof(lock_name), "usrm::vf");
l = clu_lock(lock_name, CLK_EX, &lockp);
if (l < 0) {
- clu_unlock(lock_name, lockp);
pthread_mutex_unlock(&vf_mutex);
return l;
}
@@ -1196,6 +1275,7 @@
count = sizeof(int) * (membership->cml_count + 1);
peer_fds = malloc(count);
if(!peer_fds) {
+ clu_unlock(lock_name, lockp);
pthread_mutex_unlock(&vf_mutex);
return -1;
}
@@ -1240,13 +1320,13 @@
goto retry_top;
if (flags & VFF_IGN_CONN_ERRORS)
continue;
+ close_all(peer_fds);
free(peer_fds);
clu_unlock(lock_name, lockp);
pthread_mutex_unlock(&vf_mutex);
return -1;
}
-
++y;
}
@@ -1289,19 +1369,30 @@
*/
for (x = 0; peer_fds[x] != -1; x++) {
- if (msg_send(peer_fds[x], join_view, totallen) != totallen) {
- vf_send_abort(peer_fds);
- close_all(peer_fds);
-
- free(join_view);
- clu_unlock(lock_name, lockp);
- pthread_mutex_unlock(&vf_mutex);
- return -1;
- }
+ /*
+ * Still send msg to everyone, but then close
+ * all peers fds and cleanup - TBD JSC
+ */
+ my_status = msg_send(peer_fds[x], join_view, totallen);
+ if (my_status != totallen) {
+ ret_status = -1;
+ }
remain++;
}
+ /*
+ * Now cleanup
+ */
+ if (ret_status == -1) {
+ vf_send_abort(peer_fds);
+ close_all(peer_fds);
+ free(join_view);
+ clu_unlock(lock_name, lockp);
+ pthread_mutex_unlock(&vf_mutex);
+ return -1;
+ }
+
#ifdef DEBUG
printf("VF: Checking for consensus...\n");
#endif
@@ -1524,7 +1615,6 @@
snprintf(lock_name, sizeof(lock_name), "usrm::vf");
l = clu_lock(lock_name, CLK_EX, &lockp);
if (l < 0) {
- clu_unlock(lock_name, lockp);
pthread_mutex_unlock(&vf_mutex);
printf("Couldn't lock %s\n", keyid);
return l;
--- cluster/rgmanager/src/daemons/groups.c 2006/11/27 22:21:30 1.8.2.18
+++ cluster/rgmanager/src/daemons/groups.c 2007/05/03 15:02:47 1.8.2.19
@@ -22,6 +22,7 @@
#include <magma.h>
#include <magmamsg.h>
#include <resgroup.h>
+#include <reslist.h>
#include <vf.h>
#include <magma.h>
#include <ccs.h>
@@ -132,6 +133,106 @@
}
+int get_rg_state_local(char *, rg_state_t *);
+int
+count_resource_groups_local(cluster_member_t *mp)
+{
+ resource_t *res;
+ char *rgname, *val;
+ rg_state_t st;
+
+ mp->cm_svccount = 0;
+ mp->cm_svcexcl = 0;
+
+ pthread_rwlock_rdlock(&resource_lock);
+
+ list_do(&_resources, res) {
+ if (res->r_rule->rr_root == 0)
+ continue;
+
+ rgname = res->r_attrs[0].ra_value;
+
+ if (get_rg_state_local(rgname, &st) < 0) {
+ continue;
+ }
+
+ if (st.rs_state != RG_STATE_STARTED &&
+ st.rs_state != RG_STATE_STARTING)
+ continue;
+
+ if (mp->cm_id != st.rs_owner)
+ continue;
+
+ ++mp->cm_svccount;
+
+ val = res_attr_value(res, "exclusive");
+ if (val && ((!strcmp(val, "yes") ||
+ (atoi(val)>0))) ) {
+ ++mp->cm_svcexcl;
+ }
+
+ } while (!list_done(&_resources, res));
+
+ pthread_rwlock_unlock(&resource_lock);
+
+ return 0;
+}
+
+
+int
+have_exclusive_resources()
+{
+ resource_t *res;
+ char *val;
+
+ pthread_rwlock_rdlock(&resource_lock);
+
+ list_do(&_resources, res) {
+ val = res_attr_value(res, "exclusive");
+ if (val && ((!strcmp(val, "yes") ||
+ (atoi(val)>0))) ) {
+ pthread_rwlock_unlock(&resource_lock);
+ return 1;
+ }
+
+ } while (!list_done(&_resources, res));
+
+ pthread_rwlock_unlock(&resource_lock);
+
+ return 0;
+}
+
+
+int
+check_exclusive_resources(cluster_member_list_t *membership, char *svcName)
+{
+ cluster_member_t *mp;
+ int exclusive, count;
+ resource_t *res;
+ char *val;
+
+ mp = memb_id_to_p(membership, my_id());
+ assert(mp);
+ count_resource_groups_local(mp);
+ exclusive = mp->cm_svcexcl;
+ count = mp->cm_svccount;
+ pthread_rwlock_rdlock(&resource_lock);
+ res = find_root_by_ref(&_resources, svcName);
+ if (!res) {
+ pthread_rwlock_unlock(&resource_lock);
+ return FAIL;
+ }
+ val = res_attr_value(res, "exclusive");
+ pthread_rwlock_unlock(&resource_lock);
+ if (exclusive || (count && val &&
+ (!strcmp(val, "yes") || (atoi(val)>0)))) {
+ return 1;
+ }
+
+ return 0;
+}
+
+
/**
Find the best target node for a service *besides* the current service
owner. Takes into account:
@@ -576,7 +677,6 @@
@param rgname Resource group name whose state we want to send.
@see send_rg_states
*/
-int get_rg_state_local(char *, rg_state_t *);
void
send_rg_state(int fd, char *rgname, int fast)
{
--- cluster/rgmanager/src/daemons/rg_state.c 2007/02/20 19:52:36 1.4.2.19
+++ cluster/rgmanager/src/daemons/rg_state.c 2007/05/03 15:02:47 1.4.2.20
@@ -41,6 +41,8 @@
int set_rg_state(char *servicename, rg_state_t *svcblk);
int get_rg_state(char *servicename, rg_state_t *svcblk);
void get_recovery_policy(char *rg_name, char *buf, size_t buflen);
+int have_exclusive_resources();
+int check_exclusive_resources(cluster_member_list_t *membership, char *svcName);
uint64_t
@@ -603,6 +605,10 @@
ret = 1;
break;
}
+ if (req == RG_START_RECOVER) {
+ ret = 1;
+ break;
+ }
clulog(LOG_DEBUG, "Not starting disabled RG %s\n",
svcName);
@@ -1308,6 +1314,7 @@
}
+pthread_mutex_t exclusive_mutex = PTHREAD_MUTEX_INITIALIZER;
/**
* handle_start_req - Handle a generic start request from a user or during
* service manager boot.
@@ -1323,6 +1330,7 @@
{
int ret, tolerance = FOD_BEST;
cluster_member_list_t *membership = member_list();
+ int need_check = have_exclusive_resources();
/*
* When a service request is from a user application (eg, clusvcadm),
@@ -1338,6 +1346,18 @@
cml_free(membership);
return FAIL;
}
+ if (need_check) {
+ pthread_mutex_lock(&exclusive_mutex);
+ ret = check_exclusive_resources(membership, svcName);
+ if (ret != 0) {
+ cml_free(membership);
+ pthread_mutex_unlock(&exclusive_mutex);
+ if (ret > 0)
+ goto relocate;
+ else
+ return FAIL;
+ }
+ }
cml_free(membership);
/*
@@ -1345,6 +1365,8 @@
* mask here - so that we can try all nodes if necessary.
*/
ret = svc_start(svcName, req);
+ if (need_check)
+ pthread_mutex_unlock(&exclusive_mutex);
/*
If services are locked, return the error
@@ -1384,6 +1406,7 @@
return RG_EABORT;
}
+relocate:
/*
* OK, it failed to start - but succeeded to stop. Now,
* we should relocate the service.
@@ -1421,6 +1444,7 @@
int x;
uint64_t me = my_id();
cluster_member_list_t *membership = member_list();
+ int need_check = have_exclusive_resources();
/* XXX ok, so we need to say "should I start this if I was the
only cluster member online */
@@ -1441,9 +1465,19 @@
cml_free(membership);
return FAIL;
}
+ if (need_check) {
+ pthread_mutex_lock(&exclusive_mutex);
+ if (check_exclusive_resources(membership, svcName) != 0) {
+ pthread_mutex_unlock(&exclusive_mutex);
+ cml_free(membership);
+ return FAIL;
+ }
+ }
cml_free(membership);
x = svc_start(svcName, req);
+ if (need_check)
+ pthread_mutex_unlock(&exclusive_mutex);
if (x == 0)
return 0;
if (x == RG_ERUN)
--- cluster/rgmanager/src/daemons/tests/delta-test004-test005.expected 2007/03/20 19:40:06 1.1.2.3
+++ cluster/rgmanager/src/daemons/tests/delta-test004-test005.expected 2007/05/03 15:02:47 1.1.2.4
@@ -49,7 +49,6 @@
ip [ NEEDSTART ] {
address = "192.168.1.2";
monitor_link = "1";
- nfslock = "(null)";
}
script {
name = "initscript";
--- cluster/rgmanager/src/daemons/tests/delta-test005-test006.expected 2007/03/20 19:40:06 1.1.2.3
+++ cluster/rgmanager/src/daemons/tests/delta-test005-test006.expected 2007/05/03 15:02:47 1.1.2.4
@@ -48,7 +48,6 @@
ip [ NEEDSTOP ] {
address = "192.168.1.2";
monitor_link = "1";
- nfslock = "(null)";
}
script {
name = "initscript";
@@ -62,7 +61,6 @@
ip [ NEEDSTART ] {
address = "192.168.1.2";
monitor_link = "yes";
- nfslock = "(null)";
}
script {
name = "initscript";
--- cluster/rgmanager/src/daemons/tests/delta-test006-test007.expected 2007/03/20 19:40:06 1.1.2.3
+++ cluster/rgmanager/src/daemons/tests/delta-test006-test007.expected 2007/05/03 15:02:47 1.1.2.4
@@ -48,7 +48,6 @@
ip [ NEEDSTOP ] {
address = "192.168.1.2";
monitor_link = "yes";
- nfslock = "(null)";
}
script {
name = "initscript";
@@ -62,7 +61,6 @@
ip [ NEEDSTART ] {
address = "192.168.1.3";
monitor_link = "yes";
- nfslock = "(null)";
}
script {
name = "initscript";
--- cluster/rgmanager/src/daemons/tests/delta-test007-test008.expected 2007/03/20 19:40:06 1.1.2.3
+++ cluster/rgmanager/src/daemons/tests/delta-test007-test008.expected 2007/05/03 15:02:47 1.1.2.4
@@ -58,7 +58,6 @@
ip {
address = "192.168.1.3";
monitor_link = "yes";
- nfslock = "(null)";
}
script {
name = "initscript";
@@ -72,7 +71,6 @@
ip {
address = "192.168.1.3";
monitor_link = "yes";
- nfslock = "(null)";
}
script {
name = "initscript";
--- cluster/rgmanager/src/daemons/tests/delta-test008-test009.expected 2007/03/20 19:40:06 1.1.2.3
+++ cluster/rgmanager/src/daemons/tests/delta-test008-test009.expected 2007/05/03 15:02:47 1.1.2.4
@@ -68,7 +68,6 @@
ip {
address = "192.168.1.3";
monitor_link = "yes";
- nfslock = "(null)";
}
script {
name = "initscript";
@@ -84,12 +83,10 @@
mountpoint = "/mnt/cluster";
device = "/dev/sdb8";
fstype = "ext3";
- nfslock = "(null)";
}
ip {
address = "192.168.1.3";
monitor_link = "yes";
- nfslock = "(null)";
}
script {
name = "initscript";
--- cluster/rgmanager/src/daemons/tests/delta-test009-test010.expected 2007/03/20 19:40:06 1.1.2.3
+++ cluster/rgmanager/src/daemons/tests/delta-test009-test010.expected 2007/05/03 15:02:47 1.1.2.4
@@ -79,12 +79,10 @@
mountpoint = "/mnt/cluster";
device = "/dev/sdb8";
fstype = "ext3";
- nfslock = "(null)";
}
ip {
address = "192.168.1.3";
monitor_link = "yes";
- nfslock = "(null)";
}
script {
name = "initscript";
@@ -100,12 +98,10 @@
mountpoint = "/mnt/cluster";
device = "/dev/sdb8";
fstype = "ext3";
- nfslock = "(null)";
}
ip {
address = "192.168.1.3";
monitor_link = "yes";
- nfslock = "(null)";
}
script {
name = "initscript";
--- cluster/rgmanager/src/daemons/tests/delta-test010-test011.expected 2007/03/20 19:40:06 1.1.2.3
+++ cluster/rgmanager/src/daemons/tests/delta-test010-test011.expected 2007/05/03 15:02:47 1.1.2.4
@@ -138,12 +138,10 @@
mountpoint = "/mnt/cluster";
device = "/dev/sdb8";
fstype = "ext3";
- nfslock = "(null)";
}
ip {
address = "192.168.1.3";
monitor_link = "yes";
- nfslock = "(null)";
}
script {
name = "initscript";
@@ -159,27 +157,20 @@
mountpoint = "/mnt/cluster";
device = "/dev/sdb8";
fstype = "ext3";
- nfslock = "(null)";
nfsexport [ NEEDSTART ] {
name = "Dummy Export";
device = "/dev/sdb8";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
nfsclient {
name = "Admin group";
target = "@admin";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
options = "rw";
}
nfsclient {
name = "User group";
target = "@users";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
options = "ro";
}
}
@@ -187,7 +178,6 @@
ip {
address = "192.168.1.3";
monitor_link = "yes";
- nfslock = "(null)";
}
script {
name = "initscript";
--- cluster/rgmanager/src/daemons/tests/delta-test011-test012.expected 2007/03/20 19:40:06 1.1.2.3
+++ cluster/rgmanager/src/daemons/tests/delta-test011-test012.expected 2007/05/03 15:02:47 1.1.2.4
@@ -188,27 +188,20 @@
mountpoint = "/mnt/cluster";
device = "/dev/sdb8";
fstype = "ext3";
- nfslock = "(null)";
nfsexport {
name = "Dummy Export";
device = "/dev/sdb8";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
nfsclient {
name = "Admin group";
target = "@admin";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
options = "rw";
}
nfsclient {
name = "User group";
target = "@users";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
options = "ro";
}
}
@@ -216,7 +209,6 @@
ip {
address = "192.168.1.3";
monitor_link = "yes";
- nfslock = "(null)";
}
script {
name = "initscript";
@@ -232,35 +224,26 @@
mountpoint = "/mnt/cluster";
device = "/dev/sdb8";
fstype = "ext3";
- nfslock = "(null)";
nfsexport {
name = "Dummy Export";
device = "/dev/sdb8";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
nfsclient {
name = "Admin group";
target = "@admin";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
options = "rw";
}
nfsclient {
name = "User group";
target = "@users";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
options = "ro";
}
nfsclient [ NEEDSTART ] {
name = "red";
target = "red";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
options = "ro";
}
}
@@ -268,7 +251,6 @@
ip {
address = "192.168.1.3";
monitor_link = "yes";
- nfslock = "(null)";
}
script {
name = "initscript";
--- cluster/rgmanager/src/daemons/tests/delta-test012-test013.expected 2007/03/20 19:40:06 1.1.2.3
+++ cluster/rgmanager/src/daemons/tests/delta-test012-test013.expected 2007/05/03 15:02:47 1.1.2.4
@@ -188,35 +188,26 @@
mountpoint = "/mnt/cluster";
device = "/dev/sdb8";
fstype = "ext3";
- nfslock = "(null)";
nfsexport {
name = "Dummy Export";
device = "/dev/sdb8";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
nfsclient {
name = "Admin group";
target = "@admin";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
options = "rw";
}
nfsclient {
name = "User group";
target = "@users";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
options = "ro";
}
nfsclient [ NEEDSTOP ] {
name = "red";
target = "red";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
options = "ro";
}
}
@@ -224,7 +215,6 @@
ip {
address = "192.168.1.3";
monitor_link = "yes";
- nfslock = "(null)";
}
script {
name = "initscript";
@@ -240,35 +230,26 @@
mountpoint = "/mnt/cluster";
device = "/dev/sdb8";
fstype = "ext3";
- nfslock = "(null)";
nfsexport {
name = "Dummy Export";
device = "/dev/sdb8";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
nfsclient {
name = "Admin group";
target = "@admin";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
options = "rw";
}
nfsclient {
name = "User group";
target = "@users";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
options = "ro";
}
nfsclient [ NEEDSTART ] {
name = "red";
target = "red";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
options = "rw";
}
}
@@ -276,7 +257,6 @@
ip {
address = "192.168.1.3";
monitor_link = "yes";
- nfslock = "(null)";
}
script {
name = "initscript";
--- cluster/rgmanager/src/daemons/tests/delta-test013-test014.expected 2007/03/20 19:40:06 1.1.2.3
+++ cluster/rgmanager/src/daemons/tests/delta-test013-test014.expected 2007/05/03 15:02:47 1.1.2.4
@@ -212,35 +212,26 @@
mountpoint = "/mnt/cluster";
device = "/dev/sdb8";
fstype = "ext3";
- nfslock = "(null)";
nfsexport {
name = "Dummy Export";
device = "/dev/sdb8";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
nfsclient {
name = "Admin group";
target = "@admin";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
options = "rw";
}
nfsclient {
name = "User group";
target = "@users";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
options = "ro";
}
nfsclient {
name = "red";
target = "red";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
options = "rw";
}
}
@@ -248,7 +239,6 @@
ip {
address = "192.168.1.3";
monitor_link = "yes";
- nfslock = "(null)";
}
script {
name = "initscript";
@@ -264,35 +254,26 @@
mountpoint = "/mnt/cluster";
device = "/dev/sdb8";
fstype = "ext3";
- nfslock = "(null)";
nfsexport {
name = "Dummy Export";
device = "/dev/sdb8";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
nfsclient {
name = "Admin group";
target = "@admin";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
options = "rw";
}
nfsclient {
name = "User group";
target = "@users";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
options = "ro";
}
nfsclient {
name = "red";
target = "red";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
options = "rw";
}
}
@@ -300,7 +281,6 @@
ip {
address = "192.168.1.3";
monitor_link = "yes";
- nfslock = "(null)";
}
script {
name = "initscript";
@@ -315,35 +295,26 @@
mountpoint = "/mnt/cluster2";
device = "/dev/sdb9";
fstype = "ext3";
- nfslock = "(null)";
nfsexport {
name = "Dummy Export";
device = "/dev/sdb9";
path = "/mnt/cluster2";
- fsid = "(null)";
- nfslock = "(null)";
nfsclient {
name = "Admin group";
target = "@admin";
path = "/mnt/cluster2";
- fsid = "(null)";
- nfslock = "(null)";
options = "rw";
}
nfsclient {
name = "User group";
target = "@users";
path = "/mnt/cluster2";
- fsid = "(null)";
- nfslock = "(null)";
options = "ro";
}
nfsclient {
name = "red";
target = "red";
path = "/mnt/cluster2";
- fsid = "(null)";
- nfslock = "(null)";
options = "rw";
}
}
@@ -351,7 +322,6 @@
ip {
address = "192.168.1.4";
monitor_link = "yes";
- nfslock = "(null)";
}
script {
name = "initscript";
--- cluster/rgmanager/src/daemons/tests/delta-test014-test015.expected 2007/03/20 19:40:06 1.1.2.3
+++ cluster/rgmanager/src/daemons/tests/delta-test014-test015.expected 2007/05/03 15:02:47 1.1.2.4
@@ -236,35 +236,26 @@
mountpoint = "/mnt/cluster";
device = "/dev/sdb8";
fstype = "ext3";
- nfslock = "(null)";
nfsexport {
name = "Dummy Export";
device = "/dev/sdb8";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
nfsclient {
name = "Admin group";
target = "@admin";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
options = "rw";
}
nfsclient [ NEEDSTOP ] {
name = "User group";
target = "@users";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
options = "ro";
}
nfsclient {
name = "red";
target = "red";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
options = "rw";
}
}
@@ -272,7 +263,6 @@
ip {
address = "192.168.1.3";
monitor_link = "yes";
- nfslock = "(null)";
}
script {
name = "initscript";
@@ -287,35 +277,26 @@
mountpoint = "/mnt/cluster2";
device = "/dev/sdb9";
fstype = "ext3";
- nfslock = "(null)";
nfsexport {
name = "Dummy Export";
device = "/dev/sdb9";
path = "/mnt/cluster2";
- fsid = "(null)";
- nfslock = "(null)";
nfsclient {
name = "Admin group";
target = "@admin";
path = "/mnt/cluster2";
- fsid = "(null)";
- nfslock = "(null)";
options = "rw";
}
nfsclient [ NEEDSTOP ] {
name = "User group";
target = "@users";
path = "/mnt/cluster2";
- fsid = "(null)";
- nfslock = "(null)";
options = "ro";
}
nfsclient {
name = "red";
target = "red";
path = "/mnt/cluster2";
- fsid = "(null)";
- nfslock = "(null)";
options = "rw";
}
}
@@ -323,7 +304,6 @@
ip {
address = "192.168.1.4";
monitor_link = "yes";
- nfslock = "(null)";
}
script {
name = "initscript";
@@ -339,35 +319,26 @@
mountpoint = "/mnt/cluster";
device = "/dev/sdb8";
fstype = "ext3";
- nfslock = "(null)";
nfsexport {
name = "Dummy Export";
device = "/dev/sdb8";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
nfsclient {
name = "Admin group";
target = "@admin";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
options = "rw";
}
nfsclient [ NEEDSTART ] {
name = "User group";
target = "@users";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
options = "rw,sync";
}
nfsclient {
name = "red";
target = "red";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
options = "rw";
}
}
@@ -375,7 +346,6 @@
ip {
address = "192.168.1.3";
monitor_link = "yes";
- nfslock = "(null)";
}
script {
name = "initscript";
@@ -390,35 +360,26 @@
mountpoint = "/mnt/cluster2";
device = "/dev/sdb9";
fstype = "ext3";
- nfslock = "(null)";
nfsexport {
name = "Dummy Export";
device = "/dev/sdb9";
path = "/mnt/cluster2";
- fsid = "(null)";
- nfslock = "(null)";
nfsclient {
name = "Admin group";
target = "@admin";
path = "/mnt/cluster2";
- fsid = "(null)";
- nfslock = "(null)";
options = "rw";
}
nfsclient [ NEEDSTART ] {
name = "User group";
target = "@users";
path = "/mnt/cluster2";
- fsid = "(null)";
- nfslock = "(null)";
options = "rw,sync";
}
nfsclient {
name = "red";
target = "red";
path = "/mnt/cluster2";
- fsid = "(null)";
- nfslock = "(null)";
options = "rw";
}
}
@@ -426,7 +387,6 @@
ip {
address = "192.168.1.4";
monitor_link = "yes";
- nfslock = "(null)";
}
script {
name = "initscript";
--- cluster/rgmanager/src/daemons/tests/delta-test015-test016.expected 2007/03/20 19:40:06 1.1.2.3
+++ cluster/rgmanager/src/daemons/tests/delta-test015-test016.expected 2007/05/03 15:02:47 1.1.2.4
@@ -237,35 +237,26 @@
mountpoint = "/mnt/cluster";
device = "/dev/sdb8";
fstype = "ext3";
- nfslock = "(null)";
nfsexport {
name = "Dummy Export";
device = "/dev/sdb8";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
nfsclient {
name = "Admin group";
target = "@admin";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
options = "rw";
}
nfsclient {
name = "User group";
target = "@users";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
options = "rw,sync";
}
nfsclient {
name = "red";
target = "red";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
options = "rw";
}
}
@@ -273,7 +264,6 @@
ip {
address = "192.168.1.3";
monitor_link = "yes";
- nfslock = "(null)";
}
script {
name = "initscript";
@@ -288,35 +278,26 @@
mountpoint = "/mnt/cluster2";
device = "/dev/sdb9";
fstype = "ext3";
- nfslock = "(null)";
nfsexport {
name = "Dummy Export";
device = "/dev/sdb9";
path = "/mnt/cluster2";
- fsid = "(null)";
- nfslock = "(null)";
nfsclient {
name = "Admin group";
target = "@admin";
path = "/mnt/cluster2";
- fsid = "(null)";
- nfslock = "(null)";
options = "rw";
}
nfsclient {
name = "User group";
target = "@users";
path = "/mnt/cluster2";
- fsid = "(null)";
- nfslock = "(null)";
options = "rw,sync";
}
nfsclient {
name = "red";
target = "red";
path = "/mnt/cluster2";
- fsid = "(null)";
- nfslock = "(null)";
options = "rw";
}
}
@@ -324,7 +305,6 @@
ip {
address = "192.168.1.4";
monitor_link = "yes";
- nfslock = "(null)";
}
script {
name = "initscript";
@@ -340,35 +320,26 @@
mountpoint = "/mnt/cluster";
device = "/dev/sdb8";
fstype = "ext3";
- nfslock = "(null)";
nfsexport {
name = "Dummy Export";
device = "/dev/sdb8";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
nfsclient {
name = "Admin group";
target = "@admin";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
options = "rw";
}
nfsclient {
name = "User group";
target = "@users";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
options = "rw,sync";
}
nfsclient {
name = "red";
target = "red";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
options = "rw";
}
}
@@ -376,7 +347,6 @@
ip {
address = "192.168.1.3";
monitor_link = "yes";
- nfslock = "(null)";
}
script {
name = "initscript";
@@ -391,35 +361,26 @@
mountpoint = "/mnt/cluster2";
device = "/dev/sdb9";
fstype = "ext3";
- nfslock = "(null)";
nfsexport {
name = "Dummy Export";
device = "/dev/sdb9";
path = "/mnt/cluster2";
- fsid = "(null)";
- nfslock = "(null)";
nfsclient {
name = "Admin group";
target = "@admin";
path = "/mnt/cluster2";
- fsid = "(null)";
- nfslock = "(null)";
options = "rw";
}
nfsclient {
name = "User group";
target = "@users";
path = "/mnt/cluster2";
- fsid = "(null)";
- nfslock = "(null)";
options = "rw,sync";
}
nfsclient {
name = "red";
target = "red";
path = "/mnt/cluster2";
- fsid = "(null)";
- nfslock = "(null)";
options = "rw";
}
}
@@ -427,7 +388,6 @@
ip {
address = "192.168.1.4";
monitor_link = "yes";
- nfslock = "(null)";
}
script {
name = "initscript";
--- cluster/rgmanager/src/daemons/tests/delta-test016-test017.expected 2007/03/22 23:16:43 1.1.2.1
+++ cluster/rgmanager/src/daemons/tests/delta-test016-test017.expected 2007/05/03 15:02:47 1.1.2.2
@@ -251,35 +251,26 @@
mountpoint = "/mnt/cluster";
device = "/dev/sdb8";
fstype = "ext3";
- nfslock = "(null)";
nfsexport {
name = "Dummy Export";
device = "/dev/sdb8";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
nfsclient {
name = "Admin group";
target = "@admin";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
options = "rw";
}
nfsclient {
name = "User group";
target = "@users";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
options = "rw,sync";
}
nfsclient {
name = "red";
target = "red";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
options = "rw";
}
}
@@ -287,7 +278,6 @@
ip [ NEEDSTOP ] {
address = "192.168.1.3";
monitor_link = "yes";
- nfslock = "(null)";
}
script {
name = "initscript";
@@ -302,35 +292,26 @@
mountpoint = "/mnt/cluster2";
device = "/dev/sdb9";
fstype = "ext3";
- nfslock = "(null)";
nfsexport {
name = "Dummy Export";
device = "/dev/sdb9";
path = "/mnt/cluster2";
- fsid = "(null)";
- nfslock = "(null)";
nfsclient {
name = "Admin group";
target = "@admin";
path = "/mnt/cluster2";
- fsid = "(null)";
- nfslock = "(null)";
options = "rw";
}
nfsclient {
name = "User group";
target = "@users";
path = "/mnt/cluster2";
- fsid = "(null)";
- nfslock = "(null)";
options = "rw,sync";
}
nfsclient {
name = "red";
target = "red";
path = "/mnt/cluster2";
- fsid = "(null)";
- nfslock = "(null)";
options = "rw";
}
}
@@ -338,7 +319,6 @@
ip [ NEEDSTOP ] {
address = "192.168.1.4";
monitor_link = "yes";
- nfslock = "(null)";
}
script {
name = "initscript";
@@ -354,35 +334,26 @@
mountpoint = "/mnt/cluster";
device = "/dev/sdb8";
fstype = "ext3";
- nfslock = "(null)";
nfsexport {
name = "Dummy Export";
device = "/dev/sdb8";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
nfsclient {
name = "Admin group";
target = "@admin";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
options = "rw";
}
nfsclient {
name = "User group";
target = "@users";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
options = "rw,sync";
}
nfsclient {
name = "red";
target = "red";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
options = "rw";
}
}
@@ -402,42 +373,32 @@
ip [ NEEDSTART ] {
address = "192.168.1.3";
monitor_link = "yes";
- nfslock = "(null)";
}
fs [ NEEDSTART ] {
name = "mount2";
mountpoint = "/mnt/cluster2";
device = "/dev/sdb9";
fstype = "ext3";
- nfslock = "(null)";
nfsexport {
name = "Dummy Export";
device = "/dev/sdb9";
path = "/mnt/cluster2";
- fsid = "(null)";
- nfslock = "(null)";
nfsclient {
name = "Admin group";
target = "@admin";
path = "/mnt/cluster2";
- fsid = "(null)";
- nfslock = "(null)";
options = "rw";
}
nfsclient {
name = "User group";
target = "@users";
path = "/mnt/cluster2";
- fsid = "(null)";
- nfslock = "(null)";
options = "rw,sync";
}
nfsclient {
name = "red";
target = "red";
path = "/mnt/cluster2";
- fsid = "(null)";
- nfslock = "(null)";
options = "rw";
}
}
@@ -445,12 +406,10 @@
script [ NEEDSTART ] {
name = "script2";
file = "/etc/init.d/script2";
- service_name = "(null)";
}
ip [ NEEDSTART ] {
address = "192.168.1.4";
monitor_link = "yes";
- nfslock = "(null)";
}
}
script [ NEEDSTART ] {
--- cluster/rgmanager/src/daemons/tests/test005.expected 2007/03/20 19:40:06 1.1.2.3
+++ cluster/rgmanager/src/daemons/tests/test005.expected 2007/05/03 15:02:47 1.1.2.4
@@ -26,7 +26,6 @@
ip {
address = "192.168.1.2";
monitor_link = "1";
- nfslock = "(null)";
}
script {
name = "initscript";
--- cluster/rgmanager/src/daemons/tests/test006.expected 2007/03/20 19:40:06 1.1.2.3
+++ cluster/rgmanager/src/daemons/tests/test006.expected 2007/05/03 15:02:47 1.1.2.4
@@ -26,7 +26,6 @@
ip {
address = "192.168.1.2";
monitor_link = "yes";
- nfslock = "(null)";
}
script {
name = "initscript";
--- cluster/rgmanager/src/daemons/tests/test007.expected 2007/03/20 19:40:06 1.1.2.3
+++ cluster/rgmanager/src/daemons/tests/test007.expected 2007/05/03 15:02:47 1.1.2.4
@@ -26,7 +26,6 @@
ip {
address = "192.168.1.3";
monitor_link = "yes";
- nfslock = "(null)";
}
script {
name = "initscript";
--- cluster/rgmanager/src/daemons/tests/test008.expected 2007/03/20 19:40:06 1.1.2.3
+++ cluster/rgmanager/src/daemons/tests/test008.expected 2007/05/03 15:02:47 1.1.2.4
@@ -36,7 +36,6 @@
ip {
address = "192.168.1.3";
monitor_link = "yes";
- nfslock = "(null)";
}
script {
name = "initscript";
--- cluster/rgmanager/src/daemons/tests/test009.expected 2007/03/20 19:40:06 1.1.2.3
+++ cluster/rgmanager/src/daemons/tests/test009.expected 2007/05/03 15:02:47 1.1.2.4
@@ -38,12 +38,10 @@
mountpoint = "/mnt/cluster";
device = "/dev/sdb8";
fstype = "ext3";
- nfslock = "(null)";
}
ip {
address = "192.168.1.3";
monitor_link = "yes";
- nfslock = "(null)";
}
script {
name = "initscript";
--- cluster/rgmanager/src/daemons/tests/test010.expected 2007/03/20 19:40:06 1.1.2.3
+++ cluster/rgmanager/src/daemons/tests/test010.expected 2007/05/03 15:02:47 1.1.2.4
@@ -47,12 +47,10 @@
mountpoint = "/mnt/cluster";
device = "/dev/sdb8";
fstype = "ext3";
- nfslock = "(null)";
}
ip {
address = "192.168.1.3";
monitor_link = "yes";
- nfslock = "(null)";
}
script {
name = "initscript";
--- cluster/rgmanager/src/daemons/tests/test011.expected 2007/03/20 19:40:06 1.1.2.3
+++ cluster/rgmanager/src/daemons/tests/test011.expected 2007/05/03 15:02:47 1.1.2.4
@@ -97,27 +97,20 @@
mountpoint = "/mnt/cluster";
device = "/dev/sdb8";
fstype = "ext3";
- nfslock = "(null)";
nfsexport {
name = "Dummy Export";
device = "/dev/sdb8";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
nfsclient {
name = "Admin group";
target = "@admin";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
options = "rw";
}
nfsclient {
name = "User group";
target = "@users";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
options = "ro";
}
}
@@ -125,7 +118,6 @@
ip {
address = "192.168.1.3";
monitor_link = "yes";
- nfslock = "(null)";
}
script {
name = "initscript";
--- cluster/rgmanager/src/daemons/tests/test012.expected 2007/03/20 19:40:06 1.1.2.3
+++ cluster/rgmanager/src/daemons/tests/test012.expected 2007/05/03 15:02:47 1.1.2.4
@@ -97,35 +97,26 @@
mountpoint = "/mnt/cluster";
device = "/dev/sdb8";
fstype = "ext3";
- nfslock = "(null)";
nfsexport {
name = "Dummy Export";
device = "/dev/sdb8";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
nfsclient {
name = "Admin group";
target = "@admin";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
options = "rw";
}
nfsclient {
name = "User group";
target = "@users";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
options = "ro";
}
nfsclient {
name = "red";
target = "red";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
options = "ro";
}
}
@@ -133,7 +124,6 @@
ip {
address = "192.168.1.3";
monitor_link = "yes";
- nfslock = "(null)";
}
script {
name = "initscript";
--- cluster/rgmanager/src/daemons/tests/test013.expected 2007/03/20 19:40:06 1.1.2.3
+++ cluster/rgmanager/src/daemons/tests/test013.expected 2007/05/03 15:02:47 1.1.2.4
@@ -97,35 +97,26 @@
mountpoint = "/mnt/cluster";
device = "/dev/sdb8";
fstype = "ext3";
- nfslock = "(null)";
nfsexport {
name = "Dummy Export";
device = "/dev/sdb8";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
nfsclient {
name = "Admin group";
target = "@admin";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
options = "rw";
}
nfsclient {
name = "User group";
target = "@users";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
options = "ro";
}
nfsclient {
name = "red";
target = "red";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
options = "rw";
}
}
@@ -133,7 +124,6 @@
ip {
address = "192.168.1.3";
monitor_link = "yes";
- nfslock = "(null)";
}
script {
name = "initscript";
--- cluster/rgmanager/src/daemons/tests/test014.expected 2007/03/20 19:40:06 1.1.2.3
+++ cluster/rgmanager/src/daemons/tests/test014.expected 2007/05/03 15:02:47 1.1.2.4
@@ -121,35 +121,26 @@
mountpoint = "/mnt/cluster";
device = "/dev/sdb8";
fstype = "ext3";
- nfslock = "(null)";
nfsexport {
name = "Dummy Export";
device = "/dev/sdb8";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
nfsclient {
name = "Admin group";
target = "@admin";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
options = "rw";
}
nfsclient {
name = "User group";
target = "@users";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
options = "ro";
}
nfsclient {
name = "red";
target = "red";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
options = "rw";
}
}
@@ -157,7 +148,6 @@
ip {
address = "192.168.1.3";
monitor_link = "yes";
- nfslock = "(null)";
}
script {
name = "initscript";
@@ -172,35 +162,26 @@
mountpoint = "/mnt/cluster2";
device = "/dev/sdb9";
fstype = "ext3";
- nfslock = "(null)";
nfsexport {
name = "Dummy Export";
device = "/dev/sdb9";
path = "/mnt/cluster2";
- fsid = "(null)";
- nfslock = "(null)";
nfsclient {
name = "Admin group";
target = "@admin";
path = "/mnt/cluster2";
- fsid = "(null)";
- nfslock = "(null)";
options = "rw";
}
nfsclient {
name = "User group";
target = "@users";
path = "/mnt/cluster2";
- fsid = "(null)";
- nfslock = "(null)";
options = "ro";
}
nfsclient {
name = "red";
target = "red";
path = "/mnt/cluster2";
- fsid = "(null)";
- nfslock = "(null)";
options = "rw";
}
}
@@ -208,7 +189,6 @@
ip {
address = "192.168.1.4";
monitor_link = "yes";
- nfslock = "(null)";
}
script {
name = "initscript";
--- cluster/rgmanager/src/daemons/tests/test015.expected 2007/03/20 19:40:06 1.1.2.3
+++ cluster/rgmanager/src/daemons/tests/test015.expected 2007/05/03 15:02:47 1.1.2.4
@@ -121,35 +121,26 @@
mountpoint = "/mnt/cluster";
device = "/dev/sdb8";
fstype = "ext3";
- nfslock = "(null)";
nfsexport {
name = "Dummy Export";
device = "/dev/sdb8";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
nfsclient {
name = "Admin group";
target = "@admin";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
options = "rw";
}
nfsclient {
name = "User group";
target = "@users";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
options = "rw,sync";
}
nfsclient {
name = "red";
target = "red";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
options = "rw";
}
}
@@ -157,7 +148,6 @@
ip {
address = "192.168.1.3";
monitor_link = "yes";
- nfslock = "(null)";
}
script {
name = "initscript";
@@ -172,35 +162,26 @@
mountpoint = "/mnt/cluster2";
device = "/dev/sdb9";
fstype = "ext3";
- nfslock = "(null)";
nfsexport {
name = "Dummy Export";
device = "/dev/sdb9";
path = "/mnt/cluster2";
- fsid = "(null)";
- nfslock = "(null)";
nfsclient {
name = "Admin group";
target = "@admin";
path = "/mnt/cluster2";
- fsid = "(null)";
- nfslock = "(null)";
options = "rw";
}
nfsclient {
name = "User group";
target = "@users";
path = "/mnt/cluster2";
- fsid = "(null)";
- nfslock = "(null)";
options = "rw,sync";
}
nfsclient {
name = "red";
target = "red";
path = "/mnt/cluster2";
- fsid = "(null)";
- nfslock = "(null)";
options = "rw";
}
}
@@ -208,7 +189,6 @@
ip {
address = "192.168.1.4";
monitor_link = "yes";
- nfslock = "(null)";
}
script {
name = "initscript";
--- cluster/rgmanager/src/daemons/tests/test016.expected 2007/03/20 19:40:06 1.1.2.3
+++ cluster/rgmanager/src/daemons/tests/test016.expected 2007/05/03 15:02:47 1.1.2.4
@@ -122,35 +122,26 @@
mountpoint = "/mnt/cluster";
device = "/dev/sdb8";
fstype = "ext3";
- nfslock = "(null)";
nfsexport {
name = "Dummy Export";
device = "/dev/sdb8";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
nfsclient {
name = "Admin group";
target = "@admin";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
options = "rw";
}
nfsclient {
name = "User group";
target = "@users";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
options = "rw,sync";
}
nfsclient {
name = "red";
target = "red";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
options = "rw";
}
}
@@ -158,7 +149,6 @@
ip {
address = "192.168.1.3";
monitor_link = "yes";
- nfslock = "(null)";
}
script {
name = "initscript";
@@ -173,35 +163,26 @@
mountpoint = "/mnt/cluster2";
device = "/dev/sdb9";
fstype = "ext3";
- nfslock = "(null)";
nfsexport {
name = "Dummy Export";
device = "/dev/sdb9";
path = "/mnt/cluster2";
- fsid = "(null)";
- nfslock = "(null)";
nfsclient {
name = "Admin group";
target = "@admin";
path = "/mnt/cluster2";
- fsid = "(null)";
- nfslock = "(null)";
options = "rw";
}
nfsclient {
name = "User group";
target = "@users";
path = "/mnt/cluster2";
- fsid = "(null)";
- nfslock = "(null)";
options = "rw,sync";
}
nfsclient {
name = "red";
target = "red";
path = "/mnt/cluster2";
- fsid = "(null)";
- nfslock = "(null)";
options = "rw";
}
}
@@ -209,7 +190,6 @@
ip {
address = "192.168.1.4";
monitor_link = "yes";
- nfslock = "(null)";
}
script {
name = "initscript";
--- cluster/rgmanager/src/daemons/tests/test017.expected 2007/03/22 23:16:43 1.1.2.1
+++ cluster/rgmanager/src/daemons/tests/test017.expected 2007/05/03 15:02:47 1.1.2.2
@@ -135,35 +135,26 @@
mountpoint = "/mnt/cluster";
device = "/dev/sdb8";
fstype = "ext3";
- nfslock = "(null)";
nfsexport {
name = "Dummy Export";
device = "/dev/sdb8";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
nfsclient {
name = "Admin group";
target = "@admin";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
options = "rw";
}
nfsclient {
name = "User group";
target = "@users";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
options = "rw,sync";
}
nfsclient {
name = "red";
target = "red";
path = "/mnt/cluster";
- fsid = "(null)";
- nfslock = "(null)";
options = "rw";
}
}
@@ -183,42 +174,32 @@
ip {
address = "192.168.1.3";
monitor_link = "yes";
- nfslock = "(null)";
}
fs {
name = "mount2";
mountpoint = "/mnt/cluster2";
device = "/dev/sdb9";
fstype = "ext3";
- nfslock = "(null)";
nfsexport {
name = "Dummy Export";
device = "/dev/sdb9";
path = "/mnt/cluster2";
- fsid = "(null)";
- nfslock = "(null)";
nfsclient {
name = "Admin group";
target = "@admin";
path = "/mnt/cluster2";
- fsid = "(null)";
- nfslock = "(null)";
options = "rw";
}
nfsclient {
name = "User group";
target = "@users";
path = "/mnt/cluster2";
- fsid = "(null)";
- nfslock = "(null)";
options = "rw,sync";
}
nfsclient {
name = "red";
target = "red";
path = "/mnt/cluster2";
- fsid = "(null)";
- nfslock = "(null)";
options = "rw";
}
}
@@ -226,12 +207,10 @@
script {
name = "script2";
file = "/etc/init.d/script2";
- service_name = "(null)";
}
ip {
address = "192.168.1.4";
monitor_link = "yes";
- nfslock = "(null)";
}
}
script {
--- cluster/rgmanager/src/resources/fs.sh 2007/02/15 22:46:00 1.4.2.21
+++ cluster/rgmanager/src/resources/fs.sh 2007/05/03 15:02:47 1.4.2.22
@@ -145,7 +145,7 @@
<content type="boolean"/>
</parameter>
- <parameter name="nfslock" inherit="nfslock">
+ <parameter name="nfslock" inherit="service%nfslock">
<longdesc lang="en">
If set and unmounting the file system fails, the node will
try to kill lockd and issue reclaims across all remaining
--- cluster/rgmanager/src/resources/nfsclient.sh 2007/02/21 20:54:51 1.3.2.11
+++ cluster/rgmanager/src/resources/nfsclient.sh 2007/05/03 15:02:47 1.3.2.12
@@ -95,7 +95,7 @@
<content type="string"/>
</parameter>
- <parameter name="nfslock" inherit="nfsexport%nfslock">
+ <parameter name="nfslock" inherit="service%nfslock">
<longdesc lang="en">
This tells us whether the service in question has the
NFS lock workarounds enabled. If so, we always unexport
--- cluster/rgmanager/src/resources/nfsexport.sh 2006/06/16 19:57:52 1.4.2.5
+++ cluster/rgmanager/src/resources/nfsexport.sh 2007/05/03 15:02:47 1.4.2.6
@@ -98,7 +98,7 @@
<content type="string"/>
</parameter>
- <parameter name="nfslock" inherit="nfslock">
+ <parameter name="nfslock" inherit="service%nfslock">
<longdesc lang="en">
If you can see this, your GUI is broken.
This inherits an unspecified nfslock parameter so that
--- cluster/rgmanager/src/utils/clulog.c 2006/08/18 20:35:14 1.1.2.2
+++ cluster/rgmanager/src/utils/clulog.c 2007/05/03 15:02:47 1.1.2.3
@@ -123,6 +123,12 @@
/* Add two bytes for linefeed and NULL terminator */
len = strlen(argv[argc-1]) + 2;
logmsg = (char*)malloc(strlen(argv[argc-1])+2);
+ if (logmsg == NULL) {
+ fprintf(stderr,
+ "clulog: malloc fail err=%d\n", errno);
+ exit(0);
+ }
+
snprintf(logmsg, len, "%s\n", argv[argc-1]);
if (!cmdline_loglevel) {
More information about the Cluster-devel
mailing list