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.coop...@citrix.com> --- CC: Ian Jackson <ian.jack...@eu.citrix.com> CC: Wei Liu <wei.l...@citrix.com> --- 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.coop...@citrix.com>> Wen Congyang <<we...@cn.fujitsu.com>> Yang Hongyang <<hongyang.y...@easystack.cn>> -% 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. + x86 PV Guest ------------ @@ -719,3 +723,13 @@ restored. The image header may only be extended by _appending_ additional fields. In particular, the `marker`, `id` and `version` fields must never change size or location. + + +Errata +====== + +For compatibility with older code, the receving side of a stream should +tolerate and ignore variable sized records with zero content. Some releases +of Xen 4.6 and 4.7 could end up generating valid HVM\_PARAMS or +X86\_PV\_VCPU\_{EXTENDED,XSAVE,MSRS} records with 0 content. + -- 2.1.4 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org https://lists.xen.org/xen-devel