This series now enables us to either roundrobin or select a random placement ID from the available ones. In future a non-unifrom placement id selection such as zipf, pareto etc can be added. The current boundary check for input placment ids was not correct. Added a fix for that. This series also adds FDP support to the xnvme I/O engine. Changes since v1: - Split the macro change and placement id check fix into separate patches as suggested by Vincent Ankit Kumar (4): fdp: use macros fdp: fix placement id check fdp: support random placement id selection engines/xnvme: add support for fdp HOWTO.rst | 19 ++++++++-- configure | 2 +- engines/io_uring.c | 2 +- engines/xnvme.c | 78 +++++++++++++++++++++++++++++++++++++++++- examples/xnvme-fdp.fio | 36 +++++++++++++++++++ fdp.c | 22 +++++++----- fdp.h | 13 +++++++ fio.1 | 20 +++++++++-- fio.h | 2 ++ init.c | 2 ++ options.c | 20 +++++++++++ thread_options.h | 2 ++ 12 files changed, 203 insertions(+), 15 deletions(-) create mode 100644 examples/xnvme-fdp.fio -- 2.25.1