Spdk/module
Niklas Cassel 059dcf1da1 bdev/nvme: add support for zoned namespaces
Add support for zoned namespaces in the bdev/nvme module.

Query the namespace type, and if a zoned namespace is found, set the
bdev struct members needed by the bdev_zone.h APIs.

Note that while vbdev_zone_block and bdev_ocssd have zone locks,
bdev/nvme does not need any kind of zone lock, because NVMe ZNS
supports append natively.

The whole point of the zone append command is that you don't need any
locks, even when having multiple writers, since the drive will return
back the Assigned LBA where the blocks were actually written.

If a SPDK application will utilize writes instead of zone appends,
the SPDK application itself will need a per zone lock in order to
make sure that there is only one outstanding write.

Adding zone locks in bdev/nvme would reduce the performance of zone
appends, for no reason at all.

Signed-off-by: Niklas Cassel <niklas.cassel@wdc.com>
Change-Id: Ibacdb9b6e839624aba869c9949231343db5914be
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/6911
Community-CI: Broadcom CI
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
2021-03-29 10:17:45 +00:00
..
accel idxd: update low level lib and poller to indicate busy/idle 2021-02-19 11:29:53 +00:00
bdev bdev/nvme: add support for zoned namespaces 2021-03-29 10:17:45 +00:00
blob module/blob: remove deprecated spdk_bdev_create_bs_dev/from_desc() 2021-03-05 08:33:45 +00:00
blobfs so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
env_dpdk so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
event event/nvmf: Remove use of spdk_app_stop() 2021-03-18 13:18:29 +00:00
sock posix: add sock to pending_recv list only if not already added 2021-03-29 07:43:08 +00:00
Makefile build: install generated pkg-config files 2021-03-17 11:10:45 +00:00