On 04/13/2016 05:44 AM, Alex Bligh wrote: > > On 13 Apr 2016, at 01:16, Eric Blake <eblake@...696...> wrote: > >> +The minimum block size represents the smallest addressable length and >> +alignment within the export, although writing to an area that small >> +may require the server to use a less-efficient read-modify-write >> +action. > > Having thought a bit more about this, I think we might (after all) > need a client flag which says "I respect minimum block sizes" > or "I respect block sizes" very early on in the negotiation. > > The reason why is this. > > Let's suppose I have a file backed NBD server. I'd really like > to open my files with O_DIRECT in order to gain performance, but > to do so I need to (a) advertise a minimum block size of 4096, > and (b) (crucially) know the client will respect that. If > my client doesn't tell me that, I'd open without O_DIRECT. > > Thoughts? Is it plausible that block sizes may differ per-export, or is it more likely to always be a global property of the server? In other words, should we have a dedicated NBD_OPT_BLOCK_SIZE issued by the client which returns the sizes used globally by the server, rather than having to advertise (possibly-separate) sizing per export? -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
Attachment:
signature.asc
Description: OpenPGP digital signature