zbd: support 'z' suffix for zone granularity
authorAlexey Dobriyan <adobriyan@gmail.com>
Mon, 22 Feb 2021 13:27:36 +0000 (16:27 +0300)
committerJens Axboe <axboe@kernel.dk>
Mon, 22 Feb 2021 14:35:37 +0000 (07:35 -0700)
commit8f39afa7dc98303f2bf18f73f1a4161de3668c10
treec9ced4ca4b5a71ef248750f146cf729e845a7eb4
parent1ddd225e0b56f9d23c97ce99a18bae9cba5331a7
zbd: support 'z' suffix for zone granularity

Allow users to pass some options with zone granularity which is natural
for ZBD workloads.

This is nifty for writing quick tests and when firmware guys change
zone sizes.

Converted options are

io_size=
offset=
offset_increment=
size=
zoneskip=

Example:

rw=write
numjobs=2
offset=1z
offset_increment=10z
size=5z
io_size=6z

Thread 1 will write zones 1, 2, 3, 4, 5, 1.
Thread 2 will write zones 11, 12, 13, 14, 15, 11.

Note:
zonemode=strided doesn't create ZBD zone structure but requires
value recalculation. This is why 2 functions are split.

Signed-off-by: Alexey Dobriyan (SK hynix) <adobriyan@gmail.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
filesetup.c
fio.1
options.c
parse.c
parse.h
server.h
t/zbd/test-zbd-support
thread_options.h
zbd.c
zbd.h