[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH 1/4] docs: Clarify the expected behaviour of zero length records



On 25/07/16 11:38, Andrew Cooper wrote:
> On 25/07/16 11:35, David Vrabel wrote:
>> On 25/07/16 11:25, Andrew Cooper wrote:
>>> On 25/07/16 11:21, David Vrabel wrote:
>>>> On 21/07/16 18:17, Andrew Cooper wrote:
>>>>> The sending side shouldn't send any variable sized records which end up 
>>>>> having
>>>>> zero content, but the receiving side will need to tolerate such records 
>>>>> for
>>>>> compatibility purposes.
>>>>>
>>>>> Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
>>>>> ---
>>>>> CC: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx>
>>>>> CC: Wei Liu <wei.liu2@xxxxxxxxxx>
>>>>> ---
>>>>>  docs/specs/libxc-migration-stream.pandoc | 16 +++++++++++++++-
>>>>>  1 file changed, 15 insertions(+), 1 deletion(-)
>>>>>
>>>>> diff --git a/docs/specs/libxc-migration-stream.pandoc 
>>>>> b/docs/specs/libxc-migration-stream.pandoc
>>>>> index 31eba10..a90bc5d 100644
>>>>> --- a/docs/specs/libxc-migration-stream.pandoc
>>>>> +++ b/docs/specs/libxc-migration-stream.pandoc
>>>>> @@ -3,7 +3,7 @@
>>>>>    Andrew Cooper <<andrew.cooper3@xxxxxxxxxx>>
>>>>>    Wen Congyang <<wency@xxxxxxxxxxxxxx>>
>>>>>    Yang Hongyang <<hongyang.yang@xxxxxxxxxxxx>>
>>>>> -% Revision 1
>>>>> +% Revision 2
>>>>>  
>>>>>  Introduction
>>>>>  ============
>>>>> @@ -631,6 +631,10 @@ The set of valid records depends on the guest 
>>>>> architecture and type.  No
>>>>>  assumptions should be made about the ordering or interleaving of
>>>>>  independent records.  Record dependencies are noted below.
>>>>>  
>>>>> +Some records have an exactly specified size.  Some records have variable 
>>>>> size
>>>>> +depending on their content.  A record with variable size which ends up 
>>>>> being
>>>>> +zero should be omitted entirely from the stream by the sending side.
>>>> I disagree. I think the stream should include the records with the empty
>>>> content.  This gives better consistency and does not require changes to
>>>> the stream.
>>> There are already some which are properly omitted, like the vcpu records
>>> for offline vcpus.
>>>
>>> There is no point having empty records; omitting them is an optimisation
>>> which we absolutely shouldn't preclude.
>> The optimization doesn't matter since these records are so tiny.
>>
>> I've expanded on why these should be included in another reply.
> 
> We already omit most zero-length records.  That ship has already sailed.
> 
> This bug only presents itself because of two hypercalls in Xen returning
> different size characteristics.  We already checked for zero first, and
> fail to check for zero the second time.

Then document that those specific records may be omitted, but don't
spread the brokenness to other (future) records.

David


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.