When replaying md chain for a blob, extent table descriptor can be read. When it is present, all allocated pages it points to are now being put into extent_pages array in ctx. If multiple extent table descriptors are in single md chain, the array is expanded accordingly. After replaying single md chain is done, replay extent pages starting from last one. Replaying extent pages, is similar to extent_rle in that each allocated cluster is claimed and number of free clusters in blobstore decreased. When all extent pages are read, return to _spdk_bs_load_replay_md_cpl() for continuing replaying next valid md chain. Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Change-Id: I4573226aff7d7b1bcdfd188518235c8d4b68a4c3 Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/481621 Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> |
||
---|---|---|
.. | ||
blob_bs_dev.c | ||
blobstore.c | ||
blobstore.h | ||
Makefile | ||
request.c | ||
request.h | ||
zeroes.c |