]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: use connection on closed sessions in force_open_sessions
authorSage Weil <sage@inktank.com>
Sun, 21 Oct 2012 16:58:44 +0000 (09:58 -0700)
committerSage Weil <sage@inktank.com>
Fri, 26 Oct 2012 03:49:03 +0000 (20:49 -0700)
If the have a Connection*, use it.

Signed-off-by: Sage Weil <sage@inktank.com>
src/mds/Server.cc

index 8f36b023704329bcc3e2cb1f54502e533e6e265e..49ad61617b98d68c2e9d9412b2f7c94c94dfe263 100644 (file)
@@ -351,7 +351,11 @@ void Server::finish_force_open_sessions(map<client_t,entity_inst_t>& cm,
        dout(10) << "force_open_sessions opened " << session->inst << dendl;
        mds->sessionmap.set_state(session, Session::STATE_OPEN);
        mds->sessionmap.touch_session(session);
-       session->preopen_out_queue.push_back(new MClientSession(CEPH_SESSION_OPEN));
+       Message *m = new MClientSession(CEPH_SESSION_OPEN);
+       if (session->connection)
+         messenger->send_message(m, session->connection);
+       else
+         session->preopen_out_queue.push_back(m);
       }
     } else {
       dout(10) << "force_open_sessions skipping already-open " << session->inst << dendl;