Add a libblkio engine
authorAlberto Faria <afaria@redhat.com>
Thu, 1 Dec 2022 22:07:54 +0000 (22:07 +0000)
committerVincent Fu <vincent.fu@samsung.com>
Fri, 2 Dec 2022 21:24:03 +0000 (16:24 -0500)
commita601337a4d7b6dfc36677600d8d38948f2928d03
treea5bb3195dcb8ca31b4534e535212eb16006fa2d6
parent942d66c85ee8f007ea5f1097d097cf9a44b662a0
Add a libblkio engine

The libblkio library provides a unified API for efficiently accessing
block devices using modern high-performance block I/O interfaces like
io_uring and vhost-user-blk. Using libblkio reduces the amount of code
needed for interfacing with storage devices and allows developers to
focus on their applcations.

Add a libblkio engine that uses libblkio to perform I/O. This is useful
to benchmark the library itself, and also adds support for storage
interfaces and devices otherwise not supported by fio, such as
virtio-blk PCI, vhost-user, and vhost-vDPA devices.

See the libblkio documentation [2] or KVM Forum 2022 [3] presentation
for more information on the library itself.

[1] https://gitlab.com/libblkio/libblkio
[2] https://libblkio.gitlab.io/libblkio/index.html
[3] https://static.sched.com/hosted_files/kvmforum2022/8c/libblkio-kvm-forum-2022.pdf

Signed-off-by: Alberto Faria <afaria@redhat.com>
Signed-off-by: Vincent Fu <vincent.fu@samsung.com>
HOWTO.rst
Makefile
configure
engines/libblkio.c [new file with mode: 0644]
examples/libblkio-io_uring.fio [new file with mode: 0644]
examples/libblkio-virtio-blk-vfio-pci.fio [new file with mode: 0644]
fio.1
optgroup.h