On 03/31/2016 01:34 PM, Alex Bligh wrote: > > On 31 Mar 2016, at 19:50, Eric Blake <eblake@...696...> wrote: > >>> I'd also like to say "I'd like my offsets / lengths to be a multiple of 4k" >>> so I can open O_DIRECT. Or at least say "can you cope with only offsets / >>> lengths that are a multiple of 4k, as if so I can perform better". But >>> this should probably be on a different wish-list! >> >> Yep, several emails now hinting that we want to add an extension for >> length negotiation; I've started a strawman locally, but it's not >> polished enough to post yet, with all the churn on structured replies first. > > Yep. nbdclient.c even takes a blocksize on the command-line (defaulting > to 1024), then (in setsizes()) does an ioctl to the kernel, so it would > be really useful to let the server specify / request this. And qemu's nbd-server currently rejects READ and WRITE requests with a length > 32M, by using EINVAL (well below the 2^31 limit you are asking about). The protocol ought to at least document that existing implementations already enforce limits less than 2^32. -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
Attachment:
signature.asc
Description: OpenPGP digital signature