From: Patrick Donnelly Date: Fri, 2 Aug 2019 20:28:35 +0000 (-0700) Subject: mds: use session_info_t socket inst for addr X-Git-Tag: v15.1.0~1563^2~7 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=e565e7f6550896fd2b6b084336300eedda5503c3;p=ceph-ci.git mds: use session_info_t socket inst for addr Signed-off-by: Patrick Donnelly --- diff --git a/src/mds/MDSDaemon.cc b/src/mds/MDSDaemon.cc index 1f72712239f..1795d2d18f3 100644 --- a/src/mds/MDSDaemon.cc +++ b/src/mds/MDSDaemon.cc @@ -1220,9 +1220,6 @@ void MDSDaemon::ms_handle_accept(Connection *con) // request to open a session (initial state of Session is `closed`) if (!s) { s = new Session(con); - s->info.auth_name = con->get_peer_entity_name(); - s->info.inst.addr = con->get_peer_socket_addr(); - s->info.inst.name = n; dout(10) << " new session " << s << " for " << s->info.inst << " con " << con << dendl; con->set_priv(RefCountedPtr{s, false}); diff --git a/src/mds/SessionMap.cc b/src/mds/SessionMap.cc index a7bb216b613..d70599e40d0 100644 --- a/src/mds/SessionMap.cc +++ b/src/mds/SessionMap.cc @@ -1001,7 +1001,7 @@ int Session::check_access(CInode *in, unsigned mask, if (!auth_caps.is_capable(path, in->inode.uid, in->inode.gid, in->inode.mode, caller_uid, caller_gid, caller_gid_list, mask, new_uid, new_gid, - socket_addr)) { + info.inst.addr)) { return -EACCES; } return 0; diff --git a/src/mds/SessionMap.h b/src/mds/SessionMap.h index 61ca7aeb484..4d57f4b0c14 100644 --- a/src/mds/SessionMap.h +++ b/src/mds/SessionMap.h @@ -172,7 +172,6 @@ public: protected: ConnectionRef connection; public: - entity_addr_t socket_addr; xlist::item item_session_list; list> preopen_out_queue; ///< messages for client, queued before they connect @@ -422,8 +421,11 @@ public: void set_connection(ConnectionRef con) { connection = std::move(con); - if (connection) { - socket_addr = connection->get_peer_socket_addr(); + auto& c = connection; + if (c) { + info.auth_name = c->get_peer_entity_name(); + info.inst.addr = c->get_peer_socket_addr(); + info.inst.name = entity_name_t(c->get_peer_type(), c->get_peer_global_id()); } } const ConnectionRef& get_connection() const {