Spdk/examples/nvme
Niklas Cassel 6e57273783 nvme/fio_plugin: implement support for fio .get_max_open_zones callback
Implement support for the recently added fio .get_max_open_zones callback.

If our ioengine does not implement this callback, fio will always result
in an error when using --zonemode=zbd, on platforms which does not have a
fio oslib implementation for this callback, e.g. FreeBSD.

On Linux, fio will by default try to parse sysfs, which will of course not
work on SPDK.

Implement this callback so that our ioengine will be able to provide fio
with the proper max open zones limit.

This will ensure that fio will be able to fetch the proper max open zones
limit, regardless of OS.

While our SPDK nvme ioengine did overwrite the max_open_zones option if it
was set to zero, this is a bit of a hack. The new fio callback is the
proper way to inform fio about the max open zones limit, so that fio itself
can have access to the actual device limit.
(Just overwriting the requested max_open_zones option will not allow fio
to know if the requested max_open_zones option exceeds the device limit.)
Remove the SPDK specific hack and update our README.md accordingly.

Signed-off-by: Niklas Cassel <niklas.cassel@wdc.com>
Change-Id: I532a0fa065b9e215ee6229b9100135e5403f198e
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/7898
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: John Kariuki <John.K.Kariuki@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
2021-05-18 12:42:38 +00:00
..
abort example/abort: Fix missing optarg. 2021-03-31 08:49:37 +00:00
arbitration examples: use "main" instead of "master" 2020-12-03 09:41:07 +00:00
cmb_copy nvme/cmb_copy: disable submission queue in CMB 2020-04-22 09:18:22 +00:00
fio_plugin nvme/fio_plugin: implement support for fio .get_max_open_zones callback 2021-05-18 12:42:38 +00:00
hello_world examples/nvme/hello_world: call exit() on read error 2020-10-23 13:47:09 +00:00
hotplug build: fix duplicate spdk.common.mk includes 2019-05-22 14:51:01 +00:00
identify nvme: remove aligned attribute 2021-05-12 08:48:47 +00:00
nvme_manage examples: Use PRId64 for portability 2020-11-20 11:01:11 +00:00
perf perf: Fix an error about perf cores usage 2021-05-13 10:27:10 +00:00
pmr_persistence examples/pmr_persistence: Add PMR example application 2021-04-22 20:10:21 +00:00
reconnect NVMe/vfio-user: add initial version vfio-user transport to NVMe driver 2021-01-21 05:00:18 +00:00
Makefile examples/pmr_persistence: Add PMR example application 2021-04-22 20:10:21 +00:00