Am 08.07.2022 um 06:17 hat Stefan Hajnoczi geschrieben: > libblkio (https://gitlab.com/libblkio/libblkio/) is a library for > high-performance disk I/O. It currently supports io_uring and > virtio-blk-vhost-vdpa with additional drivers under development. > > One of the reasons for developing libblkio is that other applications > besides QEMU can use it. This will be particularly useful for > vhost-user-blk which applications may wish to use for connecting to > qemu-storage-daemon. > > libblkio also gives us an opportunity to develop in Rust behind a C API > that is easy to consume from QEMU. > > This commit adds io_uring and virtio-blk-vhost-vdpa BlockDrivers to QEMU > using libblkio. It will be easy to add other libblkio drivers since they > will share the majority of code. > > For now I/O buffers are copied through bounce buffers if the libblkio > driver requires it. Later commits add an optimization for > pre-registering guest RAM to avoid bounce buffers. > > The syntax is: > > --blockdev > io_uring,node-name=drive0,filename=test.img,readonly=on|off,cache.direct=on|off > > and: > > --blockdev > virtio-blk-vhost-vdpa,node-name=drive0,path=/dev/vdpa...,readonly=on|off > > Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com>
The subject line implies only io_uring, but you actually add vhost-vdpa support, too. I think the subject line should be changed. I think it would also make sense to already implement support for vhost-user-blk on the QEMU side even if support isn't compiled in libblkio by default and opening vhost-user-blk images would therefore always fail with a default build. But then you could run QEMU with a custom build of libblkio to make use of it without patching QEMU. This is probably useful for getting libvirt support for using a storage daemon implemented without having to wait for another QEMU release. (Peter, do you have any opinion on this?) Kevin