On 7/2/19 8:48 PM, Eric Blake wrote:
>
> Is there anything else?
Do we like the signature of all the callbacks? Right now, there is a
slight inconsistency in that the 'int *error' parameter is last for
block_status and notify callbacks, but comes before 'int status' for
pread_structured. It would be a simple API switch to pread_structured to
put it last there as well, but something we can't do after declaring
stability.
Oh, we may also want to experiment with block sizes prior to declaring
API stable, in order to better support servers that want us to obey
strict NBD_INFO_BLOCK_SIZE. We may find that it gets easier if we h ave
additional parameters and/or APIs to let clients easily perform
read-modify-write or similar to widen requests out to the granularities
required by the server.
And I still wonder if we need an nbd_aio_notify_error for use when
poll() fails with POLLHUP/POLLERR/POLLNVAL, to at least advance the
state machine into an error state.
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3226
Virtualization:
qemu.org |
libvirt.org