From: Ankit Kumar Date: Thu, 2 Nov 2023 13:59:28 +0000 (+0530) Subject: engines/xnvme: fix fdp support for userspace drivers X-Git-Tag: fio-3.37~88 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=48cf0c63e5b867c8953f25deaa02466bf94a2eed;p=fio.git engines/xnvme: fix fdp support for userspace drivers 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 Link: https://lore.kernel.org/r/20231102135928.195372-1-ankit.kumar@samsung.com Signed-off-by: Jens Axboe --- 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 ;