From: lhh@sourceware.org <lhh@sourceware.org>
To: cluster-devel.redhat.com
Subject: [Cluster-devel] cluster/rgmanager ChangeLog include/reslist.h ...
Date: 3 May 2007 15:02:56 -0000 [thread overview]
Message-ID: <20070503150256.27023.qmail@sourceware.org> (raw)
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@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@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@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@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) {
next reply other threads:[~2007-05-03 15:02 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-05-03 15:02 lhh [this message]
-- strict thread matches above, loose matches on Subject: below --
2007-05-31 18:58 [Cluster-devel] cluster/rgmanager ChangeLog include/reslist.h lhh
2007-05-31 19:08 lhh
2007-08-02 14:46 lhh
2007-08-02 14:47 lhh
2007-08-02 14:53 lhh
2007-11-26 21:46 lhh
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=20070503150256.27023.qmail@sourceware.org \
--to=lhh@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.