From: Danny Al-Gaaf Date: Thu, 16 May 2013 13:56:12 +0000 (+0200) Subject: librbd/internal.cc: fix resource leak X-Git-Tag: v0.64~107^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F296%2Fhead;p=ceph.git librbd/internal.cc: fix resource leak Call release() on librados::AioCompletion to free storage before leave the loop or call new again. CID 1021213 (#1 of 1): Resource leak (RESOURCE_LEAK) leaked_storage: Variable "rados_completion" going out of scope leaks the storage it points to. Signed-off-by: Danny Al-Gaaf --- diff --git a/src/librbd/internal.cc b/src/librbd/internal.cc index d845886b25f9..d4a25e1ed8a0 100644 --- a/src/librbd/internal.cc +++ b/src/librbd/internal.cc @@ -345,6 +345,7 @@ namespace librbd { ictx->data_ctx.aio_operate(oid, rados_completion, &op); ldout(cct, 10) << "scheduling selfmanaged_snap_rollback on " << oid << " to " << snap_id << dendl; + rados_completion->release(); prog_ctx.update_progress(i * bsize, numseg * bsize); }