Re: [Nbd] [PATCH v4 04/11] nbd: Improve server handling of bogus commands
- To: Paolo Bonzini <pbonzini@...696...>
- Cc: "email@example.com" <firstname.lastname@example.org>, qemu block <qemu-block@...530...>, "qemu-devel@...530..." <qemu-devel@...530...>
- Subject: Re: [Nbd] [PATCH v4 04/11] nbd: Improve server handling of bogus commands
- From: Alex Bligh <alex@...872...>
- Date: Tue, 14 Jun 2016 16:59:18 +0100
- Message-id: <B82C8FF7-FB05-4B46-BCEE-A6C41CBA0C45@...872...>
- In-reply-to: <3f9a5b12-67eb-d2f3-f736-22ced5bbf638@...696...>
- References: <1463006384-7734-1-git-send-email-eblake@...696...> <1463006384-7734-5-git-send-email-eblake@...696...> <852e526a-5235-499a-741e-a695f5e74f83@...696...> <575EA656.80508@...696...> <6DD06745-C91C-4BFB-BFE5-92E5982ACB42@...872...> <11f620d2-a51d-5235-5abd-4ced314c9090@...696...> <38ABE56B-CA23-4372-A413-CDA72BDAE86A@...872...> <3f9a5b12-67eb-d2f3-f736-22ced5bbf638@...696...>
> On 14 Jun 2016, at 16:11, Paolo Bonzini <pbonzini@...696...> 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.