From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: Re: [PATCH v9 02/25] docs/libxl: Introduce COLO_CONTEXT to support migration v2 colo streams Date: Wed, 27 Jan 2016 15:30:55 +0000 Message-ID: <56A8E2AF.2080306@citrix.com> References: <1451443075-27428-1-git-send-email-wency@cn.fujitsu.com> <1451443075-27428-3-git-send-email-wency@cn.fujitsu.com> <20160126204004.GA27940@char.us.oracle.com> <56A8680C.9010407@cn.fujitsu.com> <56A8A348.8010105@citrix.com> <20160127151157.GE552@char.us.oracle.com> <56A8DF23.6060007@citrix.com> <20160127152801.GG552@char.us.oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20160127152801.GG552@char.us.oracle.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Konrad Rzeszutek Wilk Cc: Lars Kurth , Changlong Xie , Wei Liu , Ian Campbell , Wen Congyang , Gui Jianfeng , Jiang Yunhong , Ian Jackson , xen devel , Dong Eddie , Shriram Rajagopalan , Yang Hongyang List-Id: xen-devel@lists.xenproject.org On 27/01/16 15:28, Konrad Rzeszutek Wilk wrote: > On Wed, Jan 27, 2016 at 03:15:47PM +0000, Andrew Cooper wrote: >> On 27/01/16 15:11, Konrad Rzeszutek Wilk wrote: >>> On Wed, Jan 27, 2016 at 11:00:24AM +0000, Andrew Cooper wrote: >>>> On 27/01/16 06:47, Wen Congyang wrote: >>>>> On 01/27/2016 04:40 AM, Konrad Rzeszutek Wilk wrote: >>>>>> On Wed, Dec 30, 2015 at 10:37:32AM +0800, Wen Congyang wrote: >>>>>>> It is the negotiation record for COLO. >>>>>>> Primary->Secondary: >>>>>>> control_id 0x00000000: Secondary VM is out of sync, start a new checkpoint >>>>>>> Secondary->Primary: >>>>>>> 0x00000001: Secondary VM is suspended >>>>>>> 0x00000002: Secondary VM is ready >>>>>>> 0x00000003: Secondary VM is resumed >>>>>>> >>>>>>> Signed-off-by: Wen Congyang >>>>>>> Signed-off-by: Yang Hongyang >>>>>>> --- >>>>>>> docs/specs/libxl-migration-stream.pandoc | 25 +++++++++++++++++++++++-- >>>>>>> tools/libxl/libxl_sr_stream_format.h | 11 +++++++++++ >>>>>>> tools/python/xen/migration/libxl.py | 9 +++++++++ >>>>>>> 3 files changed, 43 insertions(+), 2 deletions(-) >>>>>>> >>>>>>> diff --git a/docs/specs/libxl-migration-stream.pandoc b/docs/specs/libxl-migration-stream.pandoc >>>>>>> index 2c97d86..5166d66 100644 >>>>>>> --- a/docs/specs/libxl-migration-stream.pandoc >>>>>>> +++ b/docs/specs/libxl-migration-stream.pandoc >>>>>>> @@ -1,6 +1,6 @@ >>>>>>> % LibXenLight Domain Image Format >>>>>>> % Andrew Cooper <> >>>>>>> -% Revision 1 >>>>>>> +% Revision 2 >>>>>>> >>>>>>> Introduction >>>>>>> ============ >>>>>>> @@ -119,7 +119,9 @@ type 0x00000000: END >>>>>>> >>>>>>> 0x00000004: CHECKPOINT_END >>>>>>> >>>>>>> - 0x00000005 - 0x7FFFFFFF: Reserved for future _mandatory_ >>>>>>> + 0x00000005: CHECKPOINT_STATE >>>>>>> + >>>>>>> + 0x00000006 - 0x7FFFFFFF: Reserved for future _mandatory_ >>>>>> This is in the 'mandatory' records. Should it be part of optional records? >>>>>> >>>>>> Would this checkpoint state always present on non-COLO guest migration? >>>>> No. Will be fixed in the next version >>>> It is correct that CHECKPOINT_STATE is a mandatory record. >>>> >>>> Optional records which are free for the receiving end to ignore if they >>>> are not understood. >>> What you are saying is that the receving end has to expect this (CHECKPOINT_STATE) >>> even there is nothing in them - as the size of them is zero (becuase there are >>> no dirty PFNs to send). >> The sole difference between a mandatory record an an option record is >> the receivers behaviour. >> >> Mandatory records may not be ignored, and constitutes a hard error. >> Optional records may be ignored, without error, if they are not understood. > You are still not answering my question. > > Is it a hard error if the mandatory record is zero length? Not if the type specifies that a zero length record is permitted. ~Andrew