From: Danny Al-Gaaf Date: Tue, 28 May 2013 10:38:57 +0000 (+0200) Subject: kv_flat_btree_async.cc: fix AioCompletion resource leak X-Git-Tag: v0.64~46^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=e6efc39fad434ad4819f4feb6e9d69df48067181;p=ceph.git kv_flat_btree_async.cc: fix AioCompletion resource leak Call AioCompletion::release() if the completion is no longer needed. CID 727979 (#1-2 of 2): Resource leak (RESOURCE_LEAK) leaked_storage: Variable "a" going out of scope leaks the storage it points to. Signed-off-by: Danny Al-Gaaf --- diff --git a/src/key_value_store/kv_flat_btree_async.cc b/src/key_value_store/kv_flat_btree_async.cc index 77d11b0951ca..baef3157cb53 100644 --- a/src/key_value_store/kv_flat_btree_async.cc +++ b/src/key_value_store/kv_flat_btree_async.cc @@ -690,12 +690,14 @@ int KvFlatBtreeAsync::read_object(const string &obj, rebalance_args * args) { if (verbose) cout << "\t\t" << client_name << "-read_object: reading failed with " << err << std::endl; + a->release(); return err; } bufferlist::iterator it = outbl.begin(); args->decode(it); args->odata.name = obj; args->odata.version = a->get_version(); + a->release(); return err; }