From: Yan, Zheng Date: Sat, 2 Jun 2018 00:34:47 +0000 (+0800) Subject: Merge pull request #22310 from ukernel/luminous-24341 X-Git-Tag: v12.2.6~69 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=b14dc3a5a8fd7afd345b0b93d004914846335b59;p=ceph.git Merge pull request #22310 from ukernel/luminous-24341 luminous: mds: fix some memory leak --- b14dc3a5a8fd7afd345b0b93d004914846335b59 diff --cc src/mds/Migrator.cc index 3520da16a2edd,f1ccdd898a669..ffd7d4dc4bd6b --- a/src/mds/Migrator.cc +++ b/src/mds/Migrator.cc @@@ -3339,18 -3326,17 +3339,21 @@@ void Migrator::handle_export_caps(MExpo assert(in->is_auth()); // FIXME - if (!in->can_auth_pin()) + if (!in->can_auth_pin()) { + ex->put(); return; + } + in->auth_pin(this); + map client_map; + client_map.swap(ex->client_map); + C_M_LoggedImportCaps *finish = new C_M_LoggedImportCaps( this, in, mds_rank_t(ex->get_source().num())); - finish->client_map = ex->client_map; + version_t pv = mds->server->prepare_force_open_sessions(client_map, + finish->imported_session_map); // decode new caps bufferlist::iterator blp = ex->cap_bl.begin(); decode_import_inode_caps(in, false, blp, finish->peer_exports);