[SCM] CTDB repository - branch master updated - ctdb-1.0.114-302-gf8642d0
Ronnie Sahlberg
sahlberg at samba.org
Thu Sep 2 20:01:13 MDT 2010
The branch, master has been updated
via f8642d0438c6bbb34a72c25d6a904b626e247410 (commit)
via b5169e037fe113a5b62f510646b8fefc055c053b (commit)
from 96cbd2c0aa9a4641a42b3c33374675fa732ed1e5 (commit)
http://gitweb.samba.org/?p=sahlberg/ctdb.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit f8642d0438c6bbb34a72c25d6a904b626e247410
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date: Fri Sep 3 11:58:27 2010 +1000
When memory allocations for recovery fails,
dont dereference a null pointer while trying to print the log message for the failure.
also shutdown ctdb with ctdb_fatal()
commit b5169e037fe113a5b62f510646b8fefc055c053b
Author: Harald Klatte <klatte at hrz.uni-kassel.de>
Date: Mon Aug 30 10:40:43 2010 +0200
AIX bind wants the correct addrsize
-----------------------------------------------------------------------
Summary of changes:
common/system_common.c | 5 ++++-
server/ctdb_recover.c | 6 ++----
2 files changed, 6 insertions(+), 5 deletions(-)
Changeset truncated at 500 lines:
diff --git a/common/system_common.c b/common/system_common.c
index 9aa4620..f28045f 100644
--- a/common/system_common.c
+++ b/common/system_common.c
@@ -50,13 +50,16 @@ bool ctdb_sys_have_ip(ctdb_sock_addr *_addr)
int ret;
ctdb_sock_addr __addr = *_addr;
ctdb_sock_addr *addr = &__addr;
+ socklen_t addrlen;
switch (addr->sa.sa_family) {
case AF_INET:
addr->ip.sin_port = 0;
+ addrlen = sizeof(struct sockaddr_in);
break;
case AF_INET6:
addr->ip6.sin6_port = 0;
+ addrlen = sizeof(struct sockaddr_in6);
break;
}
@@ -65,7 +68,7 @@ bool ctdb_sys_have_ip(ctdb_sock_addr *_addr)
return false;
}
- ret = bind(s, (struct sockaddr *)addr, sizeof(ctdb_sock_addr));
+ ret = bind(s, (struct sockaddr *)addr, addrlen);
close(s);
return ret == 0;
diff --git a/server/ctdb_recover.c b/server/ctdb_recover.c
index e1c7b16..81e2d4b 100644
--- a/server/ctdb_recover.c
+++ b/server/ctdb_recover.c
@@ -340,10 +340,8 @@ static int traverse_pulldb(struct tdb_context *tdb, TDB_DATA key, TDB_DATA data,
}
params->pulldata = talloc_realloc_size(NULL, params->pulldata, rec->length + params->len);
if (params->pulldata == NULL) {
- DEBUG(DEBUG_ERR,(__location__ " Failed to expand pulldb_data to %u (%u records)\n",
- rec->length + params->len, params->pulldata->count));
- params->failed = true;
- return -1;
+ DEBUG(DEBUG_CRIT,(__location__ " Failed to expand pulldb_data to %u\n", rec->length + params->len));
+ ctdb_fatal(params->ctdb, "failed to allocate memory for recovery. shutting down\n");
}
params->pulldata->count++;
memcpy(params->len+(uint8_t *)params->pulldata, rec, rec->length);
--
CTDB repository
More information about the samba-cvs
mailing list