bdev: increase metadata buffer size to 64

Many SSD drives can support up to 64 bytes of metadata
size, so here we define a macro in bdev.h and set the
default size to 64.

Change-Id: Ie30831d61cd66b8f5904daa38101d1a77141214e
Signed-off-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12355
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
Reviewed-by: Dong Yi <dongx.yi@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
This commit is contained in:
Changpeng Liu 2022-06-22 09:35:39 +08:00 committed by Konrad Sztyber
parent a438718fc2
commit c650b7eae3

View File

@ -27,11 +27,14 @@ extern "C" {
#define SPDK_BDEV_SMALL_BUF_MAX_SIZE 8192
#define SPDK_BDEV_LARGE_BUF_MAX_SIZE (64 * 1024)
#define SPDK_BDEV_MAX_INTERLEAVED_MD_SIZE (64)
/* Increase the buffer size to store interleaved metadata. Increment is the
* amount necessary to store metadata per data block. 16 byte metadata per
* 512 byte data block is the current maximum ratio of metadata per block.
* amount necessary to store metadata per data block. SPDK_BDEV_MAX_INTERLEAVED_MD_SIZE
* bytes metadata per 512 byte data block is the current maximum ratio of
* metadata per block.
*/
#define SPDK_BDEV_BUF_SIZE_WITH_MD(x) (((x) / 512) * (512 + 16))
#define SPDK_BDEV_BUF_SIZE_WITH_MD(x) (((x) / 512) * (512 + SPDK_BDEV_MAX_INTERLEAVED_MD_SIZE))
/** Asynchronous event type */
enum spdk_bdev_event_type {