From: Sage Weil Date: Fri, 23 Sep 2016 14:16:10 +0000 (-0400) Subject: os/bluestore: drop unreferenced spanning blobs X-Git-Tag: v11.0.1~94^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F11212%2Fhead;p=ceph.git os/bluestore: drop unreferenced spanning blobs Otherwise we can "leak" these and keep them around indefinitely. Signed-off-by: Sage Weil --- diff --git a/src/os/bluestore/BlueStore.cc b/src/os/bluestore/BlueStore.cc index 069f8a0ce100..f95acfef13cf 100644 --- a/src/os/bluestore/BlueStore.cc +++ b/src/os/bluestore/BlueStore.cc @@ -7420,6 +7420,12 @@ void BlueStore::_wctx_finish( } } delete &lo; + if (b->id >= 0 && b->ref_map.empty()) { + dout(20) << __func__ << " spanning_blob_map removing empty " << *b + << dendl; + auto it = o->extent_map.spanning_blob_map.iterator_to(*b); + o->extent_map.spanning_blob_map.erase(it); + } } }