The _spdk_bs_page_to_lba() [without 'md'] is only for translating the pages on the blobstore to lba they are at. Those pages start at the begining of the device and cover all of it. Thus simple math is enough to translate those. It is used to calculate lba_count for set of pages as well. Meanwhile there are 'md_pages' which are the same pages as for the above, but their count start at bs->md_start. Which is right after super_block and couple pages for bit masks. This patch creates new _spdk_bs_md_page_to_lba() that is more explicit in what page number is passed. Hopefully avoiding confusion when reading which page number refers to which 'type' of page. Exception to the that is _spdk_bs_dump_read_md_page(), where blobstore is not actually loaded (md_start from super block is not copied to bs structure). Additionaly providing assert to catch errors on debug builds. Making the check in _spdk_blob_load_cpl() for max_md_lba obsolete. Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Change-Id: I66bbca55b5ca3d6794c462d50177e6037ddbefa6 Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/479017 Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Reviewed-by: Paul Luse <paul.e.luse@intel.com> Reviewed-by: Ben Walker <benjamin.walker@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 |