From a438718fc25a5298f0bfc9daf2be0abc885b54be Mon Sep 17 00:00:00 2001 From: Changpeng Liu Date: Wed, 22 Jun 2022 09:08:10 +0800 Subject: [PATCH] nvmf: don't report E2E Protection Capabilities to client When `dif_insert_or_strip` is enabled, NVMf library will do DIF insert and strip automatically, client isn't aware of it, when `dif_insert_or_strip` is disabled, we will report Namespace E2E Protection Capabilities to client, but we don't process PRACT and PRCHK flags in NVMf library, so here we don't report the capabilities to client and leave the use of extended LBA buffer to users. Change-Id: Ic610dc65fef210a7799c6ab693d89138b99e1193 Signed-off-by: Changpeng Liu Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12165 Community-CI: Broadcom CI Tested-by: SPDK CI Jenkins Reviewed-by: Jim Harris Reviewed-by: Konrad Sztyber Reviewed-by: Ben Walker --- lib/nvmf/ctrlr_bdev.c | 23 ++++--------------- .../lib/nvmf/ctrlr_bdev.c/ctrlr_bdev_ut.c | 3 +-- 2 files changed, 5 insertions(+), 21 deletions(-) diff --git a/lib/nvmf/ctrlr_bdev.c b/lib/nvmf/ctrlr_bdev.c index 0b6ecbbb9..2d7c606d6 100644 --- a/lib/nvmf/ctrlr_bdev.c +++ b/lib/nvmf/ctrlr_bdev.c @@ -131,25 +131,10 @@ nvmf_bdev_ctrlr_identify_ns(struct spdk_nvmf_ns *ns, struct spdk_nvme_ns_data *n nsdata->mc.extended = 1; nsdata->mc.pointer = 0; nsdata->dps.md_start = spdk_bdev_is_dif_head_of_md(bdev); - - switch (spdk_bdev_get_dif_type(bdev)) { - case SPDK_DIF_TYPE1: - nsdata->dpc.pit1 = 1; - nsdata->dps.pit = SPDK_NVME_FMT_NVM_PROTECTION_TYPE1; - break; - case SPDK_DIF_TYPE2: - nsdata->dpc.pit2 = 1; - nsdata->dps.pit = SPDK_NVME_FMT_NVM_PROTECTION_TYPE2; - break; - case SPDK_DIF_TYPE3: - nsdata->dpc.pit3 = 1; - nsdata->dps.pit = SPDK_NVME_FMT_NVM_PROTECTION_TYPE3; - break; - default: - SPDK_DEBUGLOG(nvmf, "Protection Disabled\n"); - nsdata->dps.pit = SPDK_NVME_FMT_NVM_PROTECTION_DISABLE; - break; - } + /* NVMf library doesn't process PRACT and PRCHK flags, we + * leave the use of extended LBA buffer to users. + */ + nsdata->dps.pit = SPDK_NVME_FMT_NVM_PROTECTION_DISABLE; } } else { nsdata->lbaf[0].ms = 0; diff --git a/test/unit/lib/nvmf/ctrlr_bdev.c/ctrlr_bdev_ut.c b/test/unit/lib/nvmf/ctrlr_bdev.c/ctrlr_bdev_ut.c index ff58e26c8..2a610d976 100644 --- a/test/unit/lib/nvmf/ctrlr_bdev.c/ctrlr_bdev_ut.c +++ b/test/unit/lib/nvmf/ctrlr_bdev.c/ctrlr_bdev_ut.c @@ -482,8 +482,7 @@ test_nvmf_bdev_ctrlr_identify_ns(void) CU_ASSERT(nsdata.nacwu == 0); CU_ASSERT(nsdata.lbaf[0].lbads == spdk_u32log2(4096)); CU_ASSERT(nsdata.lbaf[0].ms == 512); - CU_ASSERT(nsdata.dpc.pit1 == 1); - CU_ASSERT(nsdata.dps.pit == SPDK_NVME_FMT_NVM_PROTECTION_TYPE1); + CU_ASSERT(nsdata.dps.pit == SPDK_NVME_FMT_NVM_PROTECTION_DISABLE); CU_ASSERT(nsdata.noiob == BDEV_IO_NUM_CHILD_IOV); CU_ASSERT(nsdata.nmic.can_share == 1); CU_ASSERT(nsdata.nsrescap.rescap.persist == 1);