This looks like a major omission on persist path. Especially visible for cases where blobstore was not reloaded between blob creations/deletion. Added writing out zeroes to md_pages that contained truncated extents (resized down). After zeroes are writen out, md_pages for those extents are released. In case of blob deletion, extents are resized down to 0 so all extent pages are released. Fixes #1590 Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Change-Id: I9a2a1190e3f1f3b5d1bb806191c1fe4d27df7780 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/4051 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> |
||
---|---|---|
.. | ||
blob_bs_dev.c | ||
blobstore.c | ||
blobstore.h | ||
Makefile | ||
request.c | ||
request.h | ||
spdk_blob.map | ||
zeroes.c |