]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
Merge pull request #22310 from ukernel/luminous-24341
authorYan, Zheng <ukernel@gmail.com>
Sat, 2 Jun 2018 00:34:47 +0000 (08:34 +0800)
committerGitHub <noreply@github.com>
Sat, 2 Jun 2018 00:34:47 +0000 (08:34 +0800)
luminous: mds: fix some memory leak

1  2 
src/mds/Migrator.cc
src/mds/Server.cc

index 3520da16a2eddcb5831490ee8f726c4b414d4659,f1ccdd898a6690e695153fc8b2cfbdde73897ec2..ffd7d4dc4bd6beb2ce2fe70276d4a0dec19efbdf
@@@ -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_t,entity_inst_t> 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);
Simple merge