From: Somnath Roy Date: Mon, 26 Sep 2016 00:52:00 +0000 (-0700) Subject: BlueStore: Fixed a memory leak X-Git-Tag: v11.0.1~95^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F11223%2Fhead;p=ceph.git BlueStore: Fixed a memory leak If a Blob is spanning is not getting deleted as spanning_blob_map is holding one ref.Explicitly decreasing Blob ref from ExtentMap destructor and erasing from spanning_blob_map is fixing the leak. Signed-off-by: Somnath Roy --- diff --git a/src/os/bluestore/BlueStore.h b/src/os/bluestore/BlueStore.h index b206bb087b14..2fe63f501b6c 100644 --- a/src/os/bluestore/BlueStore.h +++ b/src/os/bluestore/BlueStore.h @@ -554,6 +554,7 @@ public: ExtentMap(Onode *o); ~ExtentMap() { + spanning_blob_map.clear_and_dispose([&](Blob *b) { b->put(); }); extent_map.clear_and_dispose([&](Extent *e) { delete e; }); }