On 4/23/19 7:38 AM, Eric Blake wrote:
[adding NBD list]
On 4/23/19 2:36 AM, Richard W.M. Jones wrote:
On Mon, Apr 22, 2019 at 07:50:22PM -0500, Eric Blake wrote:
Previously, we were squashing EOVERFLOW into EINVAL; continue to do so at points in the protocol where the client may not be expecting EOVERFLOW.
The protocol spec is unclear on whether EOVERFLOW can be returned in cases other than the DF flag being set. Whether we include this patch or not seems to hinge on the interpretation of the protocol spec which I'm not really in a position to make.
...
So the question at hand is whether I should patch the NBD spec to recommend that a server SHOULD NOT send EOVERFLOW except in response to NBD_CMD_READ when the NBD_CMD_FLAG_DF bit is set (similar to my proposed wording that a server SHOULD NOT send ENOTSUP except in response to NBD_CMD_FLAG_FAST_ZERO).
As I have now pushed my proposed changes to the NBD spec to clarify this, I am also pushing the nbdkit patch to handle EOVERFLOW only when NBD_CMD_FLAG_DF is in use. -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3226 Virtualization: qemu.org | libvirt.org