From c58930888d0c2cea595804466cefd4e5a260ac89 Mon Sep 17 00:00:00 2001 From: Somnath Roy Date: Sun, 25 Sep 2016 17:52:00 -0700 Subject: [PATCH] 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 --- src/os/bluestore/BlueStore.h | 1 + 1 file changed, 1 insertion(+) 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; }); } -- 2.47.3