]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
msgr: make D_CONNECT constant non-zero, fix ms_handle_connect() callback
authorSage Weil <sage@inktank.com>
Thu, 28 Jun 2012 00:06:40 +0000 (17:06 -0700)
committerSage Weil <sage@inktank.com>
Tue, 3 Jul 2012 00:54:00 +0000 (17:54 -0700)
A while ago we inadvertantly broke ms_handle_connect() callbacks because
of a check for m being non-zero in the dispatch_entry() thread.  Adjust the
enums so that they get delivered again.

This fixes hangs when, for example, the ceph tool sends a command, gets a
connection reset, and doesn't get the connect callback to resend after
reconnecting to a new monitor.

Signed-off-by: Sage Weil <sage@inktank.com>
src/msg/SimpleMessenger.h

index 2a3fd55bc6a4b4bbef77a2af5b9ad93f335c673e..e809eb768161dd15e187e567bd2431eed24c7bc8 100644 (file)
@@ -694,7 +694,7 @@ private:
     map<int, xlist<Pipe *>::iterator> queued_pipe_iters;
     atomic_t qlen;
     
-    enum { D_CONNECT = 0, D_BAD_REMOTE_RESET, D_BAD_RESET, D_NUM_CODES };
+    enum { D_CONNECT = 1, D_BAD_REMOTE_RESET, D_BAD_RESET, D_NUM_CODES };
     list<Connection*> connect_q;
     list<Connection*> remote_reset_q;
     list<Connection*> reset_q;