Richard W.M. Jones
2023-Jan-04 22:51 UTC
[Libguestfs] [PATCH nbdkit] New plugin: blkio [incomplete]
Here's an updated version which supports read, write, flush,
write-zeroes, discard and FUA:
https://gitlab.com/rwmjones/nbdkit/-/commits/2023-libblkio/
I was able to access a local file using the io_uring driver using
guestfish. You can try it like this:
$ ./nbdkit -fv blkio io_uring path=/var/tmp/fedora-36.img \
--run ' guestfish --format=raw -a $uri -i '
I haven't tested it exhaustively, but it seems to work OK. Obviously
it will be a bit slow.
It doesn't implement pre-allocated buffers, so advice on how and when
to do that would be welcome.
Rich.
PS: Eric: One thing we lack in the NBD space is a standards
conformance test [-suite].
--
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
Fedora Windows cross-compiler. Compile Windows programs, test, and
build Windows installers. Over 100 libraries supported.
http://fedoraproject.org/wiki/MinGW
Eric Blake
2023-Jan-16 20:35 UTC
[Libguestfs] [PATCH nbdkit] New plugin: blkio [incomplete]
On Wed, Jan 04, 2023 at 10:51:50PM +0000, Richard W.M. Jones wrote:> Here's an updated version which supports read, write, flush, > write-zeroes, discard and FUA: > > https://gitlab.com/rwmjones/nbdkit/-/commits/2023-libblkio/...> PS: Eric: One thing we lack in the NBD space is a standards > conformance test [-suite].To some extent, interoperability between libnbd and nbdkit provides a lot of that testing, but I agree that it is somewhat ad hoc. I've added features to libnbd over the years to try and trigger more corner cases of client behavior to see how servers respond, but that's more in the handshaking side of things than in the I/O side after handshaking is complete. What specific tests do you have in mind here? -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3266 Virtualization: qemu.org | libvirt.org