On Mon, Jan 16, 2023 at 02:35:41PM -0600, Eric Blake wrote:
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?
I think there are two overlapping but slightly different things we
don't have:
(1) A set of sanity checks for a server, which would check things
like: After writing, can the same data be read back? Does the zeroing
operation actually write zeroes?
(2) An actual conformance suite which would be something like the Java
TCK. It would attempt to check every corner of the NBD standard,
being incredibly picky about everything.
You could argue that (1) is just a subset of (2).
Rich.
--
Richard Jones, Virtualization Group, Red Hat
http://people.redhat.com/~rjones
Read my programming and virtualization blog:
http://rwmj.wordpress.com
virt-p2v converts physical machines to virtual machines. Boot with a
live CD or over the network (PXE) and turn machines into KVM guests.
http://libguestfs.org/virt-v2v