diff --git a/lib/nvmf/ctrlr.c b/lib/nvmf/ctrlr.c index c285c7887..a1725c154 100644 --- a/lib/nvmf/ctrlr.c +++ b/lib/nvmf/ctrlr.c @@ -2426,6 +2426,11 @@ spdk_nvmf_ctrlr_identify_ns(struct spdk_nvmf_ctrlr *ctrlr, nsdata->noiob = max_num_blocks; } + /* Set NOWS equal to Controller MDTS */ + if (nsdata->nsfeat.optperf) { + nsdata->nows = max_num_blocks - 1; + } + if (subsystem->flags.ana_reporting) { assert(ns->anagrpid - 1 < subsystem->max_nsid); nsdata->anagrpid = ns->anagrpid; diff --git a/lib/nvmf/ctrlr_bdev.c b/lib/nvmf/ctrlr_bdev.c index 3dd78f7c8..52803879e 100644 --- a/lib/nvmf/ctrlr_bdev.c +++ b/lib/nvmf/ctrlr_bdev.c @@ -190,6 +190,9 @@ nvmf_bdev_ctrlr_identify_ns(struct spdk_nvmf_ns *ns, struct spdk_nvme_ns_data *n nsdata->nsfeat.ns_atomic_write_unit = 1; nsdata->npwg = (phys_blocklen >> nsdata->lbaf[0].lbads) - 1; nsdata->nawupf = nsdata->npwg; + nsdata->npwa = nsdata->npwg; + nsdata->npdg = nsdata->npwg; + nsdata->npda = nsdata->npwg; nsdata->noiob = spdk_bdev_get_optimal_io_boundary(bdev); nsdata->nmic.can_share = 1;