From: Joao Eduardo Luis Date: Fri, 14 Nov 2014 21:09:27 +0000 (+0000) Subject: mon: Monitor: forward session entity name to leader X-Git-Tag: v0.89~9^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=125b58d925d38d9d4934795edd36af6e16ed25d2;p=ceph.git mon: Monitor: forward session entity name to leader And populate mock session (for forwarded request) with forwarded entity name. Backport: giant Signed-off-by: Joao Eduardo Luis --- diff --git a/src/mon/Monitor.cc b/src/mon/Monitor.cc index a0229aed8102..f4188024fdc5 100644 --- a/src/mon/Monitor.cc +++ b/src/mon/Monitor.cc @@ -2748,6 +2748,11 @@ void Monitor::forward_request_leader(PaxosServiceMessage *req) rr->con_features, rr->session->caps); forward->set_priority(req->get_priority()); + if (session->auth_handler) { + forward->entity_name = session->entity_name; + } else if (req->get_source().is_mon()) { + forward->entity_name.set_type(CEPH_ENTITY_TYPE_MON); + } messenger->send_message(forward, monmap->get_inst(mon)); } else { dout(10) << "forward_request no session for request " << *req << dendl; @@ -2781,6 +2786,9 @@ void Monitor::handle_forward(MForward *m) s->caps = m->client_caps; dout(10) << " caps are " << s->caps << dendl; + s->entity_name = m->entity_name; + dout(10) << " entity name '" << s->entity_name << "' type " + << s->entity_name.get_type() << dendl; s->proxy_con = m->get_connection(); s->proxy_tid = m->tid;