[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-block] [PATCH] doc: Permit BLOCK_STATUS reply to extend beyond
Re: [Qemu-block] [PATCH] doc: Permit BLOCK_STATUS reply to extend beyond request
Thu, 16 Aug 2018 14:26:46 -0500
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1
On 08/15/2018 04:23 AM, Vladimir Sementsov-Ogievskiy wrote:
Finally, Qemu 3.0 released, and it is incompatible with current NBD
protocol. Please, commit this patch.
Indeed, qemu 3.0 with the qemu:dirty-bitmap:NAME context does exceed the
final length when REQ_ONE is not in force.
As I recall, there was no complaint about the concept, only the wording;
so I think this updated wording satisfies everyone:
If the client used the `NBD_CMD_FLAG_REQ_ONE` flag in the request,
- then every reply chunk MUST NOT contain more than one descriptor.
+ then every reply chunk MUST contain exactly one descriptor, and that
+ descriptor MUST NOT exceed the *length* of the original request. If
+ the client did not use the flag, and the server replies with N
+ extents, then the sum of the *length* fields of the first N-1
+ extents (if any) MUST be less than the requested length, while the
+ *length* of the final extent MAY result in a sum larger than the
+ original requested length, if the server has that information anyway
+ as a side effect of reporting the status of the requested region.
I've gone ahead and pushed this.
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3266
Virtualization: qemu.org | libvirt.org