1 ; Running xNVMe/fio on a Zoned Device
3 ; Writes 1GB at QD1 using 4K BS and verifies it.
7 ; This job-file is intended to be used as:
9 ; # Use the built-in io_uring engine to get baseline numbers
10 ; fio examples/xnvme-zoned.fio \
12 ; --ioengine=io_uring \
14 ; --filename=/dev/nvme0n1
16 ; # Use the xNVMe io-engine engine with Linux backend and io_uring async. impl.
17 ; fio examples/xnvme-zoned.fio \
21 ; --xnvme_async=io_uring \
22 ; --filename=/dev/nvme0n1
24 ; # Use the xNVMe io-engine engine with Linux backend and libaio async. impl.
25 ; fio examples/xnvme-zoned.fio \
28 ; --xnvme_async=libaio \
29 ; --filename=/dev/nvme0n1
31 ; # Use the xNVMe io-engine engine with SPDK backend, note that you have to set the Namespace-id
32 ; fio examples/xnvme-zoned.fio \
35 ; --xnvme_dev_nsid=1 \
36 ; --filename=0000\\:01\\:00.0
38 ; NOTE: The URI encoded in the filename above, the ":" must be escaped.
40 ; On the command-line using two "\\":
42 ; --filename=0000\\:01\\:00.0
44 ; Within a fio-script using a single "\":
46 ; filename=0000\:01\:00.0
48 ; NOTE: If you want to override the default bs, iodepth, and workload, then
51 ; FIO_BS="512" FIO_RW="verify" FIO_IODEPTH=16 fio examples/xnvme-zoned.fio \
54 ; To reset all zones on the device to EMPTY state aka. wipe the entire device.
56 ; # zoned mgmt-reset /dev/nvme0n2 --slba 0x0 --all
69 ; Avoid accidentally creating device files; e.g. "/dev/nvme0n1", "/dev/nullb0"
72 ; NOTE: If fio complains about zone-size, then run:
74 ; # zoned info /dev/nvme0n1
76 ; The command will provide the values you need, then in the fio-script define:
78 ; zonesize=nsect * nbytes
86 iodepth=${FIO_IODEPTH}