> On 14 Jun 2016, at 16:11, Paolo Bonzini <pbonz...@redhat.com> wrote: > >> To illustrate the problem, look consider what qemu itself would do as >> a server if it can't buffer the entire read issued to it. > > Return ENOMEM?
Well OK, qemu then 'works' on the basis it breaks another part of the spec, which is coping with long reads. > However, it looks like the > de facto status prior to structured replies is that the error is in the > spec, and this patch introduces a regression. Well, I guess the patch makes it work the same as the reference server implementation and the spec, which I'd consider a fix. My view is that the error is in the kernel client. I think Erik CC'd in nbd-general re the comment that the spec was broken; I don't think it is, and don't propose to change it. Wouter might or might not feel differently. It's been reasonably well known (I wrote about it at least 3 years ago), that the current implementation (reference + kernel) does not cope well with errors on reads, so I'm guessing one is just trading one set of brokenness for another. So I'm pretty relaxed about what goes in qemu. -- Alex Bligh