The xNVMe backend supports FDP commands for userspace drivers such as SPDK. Enable support in the xnvme ioengine. Update the xnvme fdp example file accordingly. Signed-off-by: Ankit Kumar <ankit.kumar@xxxxxxxxxxx> --- engines/xnvme.c | 2 +- examples/xnvme-fdp.fio | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/engines/xnvme.c b/engines/xnvme.c index ce7b2bdd..b7824013 100644 --- a/engines/xnvme.c +++ b/engines/xnvme.c @@ -964,7 +964,7 @@ static int xnvme_fioe_fetch_ruhs(struct thread_data *td, struct fio_file *f, uint32_t nsid; int err = 0, err_lock; - if (f->filetype != FIO_TYPE_CHAR) { + if (f->filetype != FIO_TYPE_CHAR && f->filetype != FIO_TYPE_FILE) { log_err("ioeng->fdp_ruhs(): ignoring filetype: %d\n", f->filetype); return -EINVAL; } diff --git a/examples/xnvme-fdp.fio b/examples/xnvme-fdp.fio index 86fbe0d3..c50959f1 100644 --- a/examples/xnvme-fdp.fio +++ b/examples/xnvme-fdp.fio @@ -16,6 +16,26 @@ ; --xnvme_sync=nvme \ ; --filename=/dev/ng0n1 ; +; # Use the xNVMe io-engine engine with SPDK backend, note that you have to set the Namespace-id +; fio examples/xnvme-fdp.fio \ +; --section=default \ +; --ioengine=xnvme \ +; --xnvme_dev_nsid=1 \ +; --filename=0000\\:01\\:00.0 +; +; NOTE: The URI encoded in the filename above, the ":" must be escaped. +; +; On the command-line using two "\\": +; +; --filename=0000\\:01\\:00.0 +; +; Within a fio-script using a single "\": +; +; filename=0000\:01\:00.0 +; +; NOTE: If you want to override the default bs, iodepth, and workload, then +; invoke it as: +; ; FIO_BS="512" FIO_RW="read" FIO_IODEPTH=16 fio examples/xnvme-fdp.fio \ ; --section=override --ioengine=xnvme --xnvme_sync=nvme --filename=/dev/ng0n1 ; -- 2.25.1