[SCM] CTDB repository - branch master updated -
9fc1b49dddf7f7c5b6a7562c293cb22bc7d5f3b9
Andrew Tridgell
tridge at samba.org
Tue May 5 22:19:06 GMT 2009
The branch, master has been updated
via 9fc1b49dddf7f7c5b6a7562c293cb22bc7d5f3b9 (commit)
via 11b11e00d00d1bc587e18283861664d73f287b41 (commit)
from de559946b20cfd7560a205b9c4ae73688341d1b5 (commit)
http://gitweb.samba.org/?p=tridge/ctdb.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit 9fc1b49dddf7f7c5b6a7562c293cb22bc7d5f3b9
Author: Andrew Tridgell <tridge at samba.org>
Date: Wed May 6 08:18:21 2009 +1000
use less intrusive smbstatus call in periodic connections cleanup
commit 11b11e00d00d1bc587e18283861664d73f287b41
Author: Andrew Tridgell <tridge at samba.org>
Date: Wed May 6 08:17:45 2009 +1000
merged from ronnie
-----------------------------------------------------------------------
Summary of changes:
config/events.d/50.samba | 2 +-
include/ctdb_private.h | 12 ++++++------
server/ctdb_traverse.c | 11 +++--------
3 files changed, 10 insertions(+), 15 deletions(-)
Changeset truncated at 500 lines:
diff --git a/config/events.d/50.samba b/config/events.d/50.samba
index e0e2ad7..0343ce4 100755
--- a/config/events.d/50.samba
+++ b/config/events.d/50.samba
@@ -135,7 +135,7 @@ periodic_cleanup() {
# running smbstatus scrubs any dead entries from the connections
# and sessionid database
# echo "Running periodic cleanup of samba databases"
- smbstatus -n > /dev/null 2>&1 &
+ smbstatus -np > /dev/null 2>&1 &
}
case $cmd in
diff --git a/include/ctdb_private.h b/include/ctdb_private.h
index 9ba4cc0..f37560a 100644
--- a/include/ctdb_private.h
+++ b/include/ctdb_private.h
@@ -556,12 +556,12 @@ enum ctdb_controls {CTDB_CONTROL_PROCESS_EXISTS = 0,
CTDB_CONTROL_TAKEOVER_IP = 89,
CTDB_CONTROL_GET_PUBLIC_IPS = 90,
CTDB_CONTROL_GET_NODEMAP = 91,
- CTDB_CONTROL_TRAVERSE_KILL = 92,
- CTDB_CONTROL_EVENT_SCRIPT_INIT = 93,
- CTDB_CONTROL_EVENT_SCRIPT_START = 94,
- CTDB_CONTROL_EVENT_SCRIPT_STOP = 95,
- CTDB_CONTROL_EVENT_SCRIPT_FINISHED = 96,
- CTDB_CONTROL_GET_EVENT_SCRIPT_STATUS = 97,
+ CTDB_CONTROL_EVENT_SCRIPT_INIT = 92,
+ CTDB_CONTROL_EVENT_SCRIPT_START = 93,
+ CTDB_CONTROL_EVENT_SCRIPT_STOP = 94,
+ CTDB_CONTROL_EVENT_SCRIPT_FINISHED = 95,
+ CTDB_CONTROL_GET_EVENT_SCRIPT_STATUS = 96,
+ CTDB_CONTROL_TRAVERSE_KILL = 97,
};
/*
diff --git a/server/ctdb_traverse.c b/server/ctdb_traverse.c
index 60a8e90..dbb4b4f 100644
--- a/server/ctdb_traverse.c
+++ b/server/ctdb_traverse.c
@@ -92,7 +92,6 @@ static int ctdb_traverse_local_fn(struct tdb_context *tdb, TDB_DATA key, TDB_DAT
struct ctdb_rec_data *d;
struct ctdb_ltdb_header *hdr;
-
hdr = (struct ctdb_ltdb_header *)data.dptr;
if (h->ctdb_db->persistent == 0) {
@@ -229,10 +228,10 @@ static void ctdb_traverse_all_timeout(struct event_context *ev, struct timed_eve
{
struct ctdb_traverse_all_handle *state = talloc_get_type(private_data, struct ctdb_traverse_all_handle);
+ DEBUG(DEBUG_ERR,(__location__ " Traverse all timeout on database:%s\n", state->ctdb_db->db_name));
state->ctdb->statistics.timeouts.traverse++;
state->callback(state->private_data, tdb_null, tdb_null);
- talloc_free(state);
}
@@ -265,7 +264,7 @@ static struct ctdb_traverse_all_handle *ctdb_daemon_traverse_all(struct ctdb_db_
struct ctdb_traverse_all r;
uint32_t destination;
- state = talloc(ctdb_db, struct ctdb_traverse_all_handle);
+ state = talloc(start_state, struct ctdb_traverse_all_handle);
if (state == NULL) {
return NULL;
}
@@ -450,11 +449,6 @@ int32_t ctdb_control_traverse_data(struct ctdb_context *ctdb, TDB_DATA data, TDB
private_data = state->private_data;
callback(private_data, key, data);
- if (key.dsize == 0 && data.dsize == 0) {
- /* we've received all of the null replies, so all
- nodes are finished */
- talloc_free(state);
- }
return 0;
}
@@ -495,6 +489,7 @@ static int ctdb_traverse_start_destructor(struct traverse_start_state *state)
struct ctdb_traverse_start r;
TDB_DATA data;
+ DEBUG(DEBUG_ERR,(__location__ " Traverse cancelled by client disconnect for database:0x%08x\n", state->db_id));
r.db_id = state->db_id;
r.reqid = state->reqid;
r.srvid = state->srvid;
--
CTDB repository
More information about the samba-cvs
mailing list