diff options
author | Ronnie Sahlberg <ronniesahlberg@gmail.com> | 2009-06-01 14:56:19 +1000 |
---|---|---|
committer | Ronnie Sahlberg <ronniesahlberg@gmail.com> | 2009-06-01 14:56:19 +1000 |
commit | 6c0c3577f8ad19fa6627e2fd2b515a224aba3a5b (patch) | |
tree | 176a72cc51a99eefc43d8b839bc2cff296fef638 /ctdb/server/ctdb_server.c | |
parent | 8a0880c843b1e0db305d154ab1d2d74dc05e24e7 (diff) | |
download | samba-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.c | 7 |
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) { |