summaryrefslogtreecommitdiffstats
path: root/ctdb/server/ctdb_server.c
diff options
context:
space:
mode:
authorRonnie Sahlberg <ronniesahlberg@gmail.com>2009-06-01 14:56:19 +1000
committerRonnie Sahlberg <ronniesahlberg@gmail.com>2009-06-01 14:56:19 +1000
commit6c0c3577f8ad19fa6627e2fd2b515a224aba3a5b (patch)
tree176a72cc51a99eefc43d8b839bc2cff296fef638 /ctdb/server/ctdb_server.c
parent8a0880c843b1e0db305d154ab1d2d74dc05e24e7 (diff)
downloadsamba-6c0c3577f8ad19fa6627e2fd2b515a224aba3a5b.tar.gz
samba-6c0c3577f8ad19fa6627e2fd2b515a224aba3a5b.tar.xz
samba-6c0c3577f8ad19fa6627e2fd2b515a224aba3a5b.zip
dont try to queue packets for sending to (recently) deleted nodes since these nodes do not have a queue.
(This used to be ctdb commit 1b7c88ae7643f9bcc52b1d33095f97de88fc2316)
Diffstat (limited to 'ctdb/server/ctdb_server.c')
-rw-r--r--ctdb/server/ctdb_server.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/ctdb/server/ctdb_server.c b/ctdb/server/ctdb_server.c
index 638720b1510..59ed37c6008 100644
--- a/ctdb/server/ctdb_server.c
+++ b/ctdb/server/ctdb_server.c
@@ -560,7 +560,12 @@ void ctdb_queue_packet(struct ctdb_context *ctdb, struct ctdb_req_header *hdr)
node = ctdb->nodes[hdr->destnode];
- if (hdr->destnode == ctdb->pnn) {
+ if (node->flags & NODE_FLAGS_DELETED) {
+ DEBUG(DEBUG_ERR, (__location__ " Can not queue packet to DELETED node %d\n", hdr->destnode));
+ return;
+ }
+
+ if (node->pnn == ctdb->pnn) {
ctdb_defer_packet(ctdb, hdr);
} else {
if (ctdb->methods == NULL) {