**posix**
Use the posix asynchronous I/O interface to perform one or
more I/O operations asynchronously.
+ **vfio**
+ Use the user-space VFIO-based backend, implemented using
+ libvfn instead of SPDK.
**nil**
Do not transfer any data; just pretend to. This is mainly used
for introspective performance evaluation.
.. option:: xnvme_dev_nsid=int : [xnvme]
- xnvme namespace identifier for userspace NVMe driver, such as SPDK.
+ xnvme namespace identifier for userspace NVMe driver, SPDK or vfio.
.. option:: xnvme_iovec=int : [xnvme]
.lname = "xNVMe Asynchronous command-interface",
.type = FIO_OPT_STR_STORE,
.off1 = offsetof(struct xnvme_fioe_options, xnvme_async),
- .help = "Select xNVMe async. interface: [emu,thrpool,io_uring,libaio,posix,nil]",
+ .help = "Select xNVMe async. interface: "
+ "[emu,thrpool,io_uring,io_uring_cmd,libaio,posix,vfio,nil]",
.category = FIO_OPT_C_ENGINE,
.group = FIO_OPT_G_XNVME,
},
.lname = "xNVMe Synchronous. command-interface",
.type = FIO_OPT_STR_STORE,
.off1 = offsetof(struct xnvme_fioe_options, xnvme_sync),
- .help = "Select xNVMe sync. interface: [nvme,psync]",
+ .help = "Select xNVMe sync. interface: [nvme,psync,block]",
.category = FIO_OPT_C_ENGINE,
.group = FIO_OPT_G_XNVME,
},
.lname = "xNVMe Admin command-interface",
.type = FIO_OPT_STR_STORE,
.off1 = offsetof(struct xnvme_fioe_options, xnvme_admin),
- .help = "Select xNVMe admin. cmd-interface: [nvme,block,file_as_ns]",
+ .help = "Select xNVMe admin. cmd-interface: [nvme,block]",
.category = FIO_OPT_C_ENGINE,
.group = FIO_OPT_G_XNVME,
},
Use the posix asynchronous I/O interface to perform one or more I/O operations
asynchronously.
.TP
+.BI vfio
+Use the user-space VFIO-based backend, implemented using libvfn instead of
+SPDK.
+.TP
.BI nil
Do not transfer any data; just pretend to. This is mainly used for
introspective performance evaluation.
.RE
.TP
.BI (xnvme)xnvme_dev_nsid\fR=\fPint
-xnvme namespace identifier for userspace NVMe driver such as SPDK.
+xnvme namespace identifier for userspace NVMe driver SPDK or vfio.
.TP
.BI (xnvme)xnvme_iovec
If this option is set, xnvme will use vectored read/write commands.