[SCM] CTDB repository - branch master updated - e459a947395e9aba50eba6cbf8f13ee803856314
Andrew Tridgell
tridge at samba.org
Wed Feb 3 21:21:16 MST 2010
The branch, master has been updated
discards d5eaddff89ab3a5f75b2db7708ebbce5a0d213a5 (commit)
discards 4232cfcbb730b9af2b693a518000693b7b4de90d (commit)
discards 4274e07ed22f63c473d484a8d9345473b0aa9afd (commit)
via e459a947395e9aba50eba6cbf8f13ee803856314 (commit)
via a46cb23168e83f818097c5f66bec7edee501250b (commit)
via 46cd20ebe9b0933ba663dad342661a7dc0a3926f (commit)
from d5eaddff89ab3a5f75b2db7708ebbce5a0d213a5 (commit)
http://gitweb.samba.org/?p=tridge/ctdb.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit e459a947395e9aba50eba6cbf8f13ee803856314
Author: Andrew Tridgell <tridge at samba.org>
Date: Thu Feb 4 14:36:14 2010 +1100
ctdb: when we fill the client packet queue we need to drop the client
We can't just drop packets to the list, as those packets could be part
of the core protocol the client is using. This happens (for example)
when Samba is doing a traverse. If we drop a traverse packet then
Samba hangs indefinately. We are better off dropping the ctdb socket
to Samba.
commit a46cb23168e83f818097c5f66bec7edee501250b
Author: Andrew Tridgell <tridge at samba.org>
Date: Thu Feb 4 14:14:18 2010 +1100
ctdb: move ctdb_io.c to use TLIST_*() macros
This will make large packet queues much more efficient
commit 46cd20ebe9b0933ba663dad342661a7dc0a3926f
Author: Andrew Tridgell <tridge at samba.org>
Date: Thu Feb 4 14:13:49 2010 +1100
util: added TLIST_*() macros
The TLIST_*() macros are like the DLIST_*() macros, but take both a
head and tail pointer for the list. This means that adding an element
to the end of the list is efficient (it doesn't need to walk the
list).
We should move all uses of the DLIST_*() macros which use
DLIST_ADD_END() to use the TLIST_*() macros instead.
-----------------------------------------------------------------------
Summary of changes:
lib/util/dlinklist.h | 12 ++++++++----
1 files changed, 8 insertions(+), 4 deletions(-)
Changeset truncated at 500 lines:
diff --git a/lib/util/dlinklist.h b/lib/util/dlinklist.h
index c06845e..c877537 100644
--- a/lib/util/dlinklist.h
+++ b/lib/util/dlinklist.h
@@ -136,10 +136,14 @@ do { \
/* TLIST_ADD_END adds elements to the end of the list. */
#define TLIST_ADD_END(listhead, listtail, p) \
do { \
- DLIST_ADD(listtail, p); \
- (listtail) = (p); \
- if (NULL == (listhead)) { \
- (listhead) = (p); \
+ if ((listtail) == NULL) { \
+ DLIST_ADD(listhead, p); \
+ (listtail) = (listhead); \
+ } else { \
+ (listtail)->next = (p); \
+ (p)->prev = (listtail); \
+ (p)->next = NULL; \
+ (listtail) = (p); \
} \
} while (0)
--
CTDB repository
More information about the samba-cvs
mailing list