+38
−1
+16
−4
Loading
nvmf target may directly expose nvme namespace bdevs to hosts. In this case, we still use bdev APIs for I/O paths - but there is no way to pass things like NVMe directives with existing APIs. One option would be to use NVME_PASSTHRU bdev path in this case. But I think it's better to use the native bdev APIs when possible - otherwise bdev layer can't do things like QoS, splitting, etc. effectively. So instead, introduce spdk_bdev_nvme_cdw12 and cdw13. These by convention match the ones defined by NVMe specification, but allows the flexibility to be used by bdevs that don't support NVMe. We then add these cdw12 and cdw13 to the spdk_bdev_ext_io_opts. nvmf target can use this to pass these values through bdev layer to the bdev/nvme module. These will be only be passed through for write commands. Signed-off-by:Jim Harris <jim.harris@samsung.com> Signed-off-by:
Ankit Kumar <ankit.kumar@samsung.com> Change-Id: I238ce5c73581c3f2130da632cbbc3e78628253f0 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/22344 Community-CI: Mellanox Build Bot Reviewed-by:
Shuhei Matsumoto <smatsumoto@nvidia.com> Tested-by:
SPDK CI Jenkins <sys_sgci@intel.com>