From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:34879) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aeBra-00033U-9j for qemu-devel@nongnu.org; Thu, 10 Mar 2016 20:27:35 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aeBrX-0000S4-2w for qemu-devel@nongnu.org; Thu, 10 Mar 2016 20:27:34 -0500 Received: from [59.151.112.132] (port=8411 helo=heian.cn.fujitsu.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aeBrW-0000RM-JD for qemu-devel@nongnu.org; Thu, 10 Mar 2016 20:27:30 -0500 Message-ID: <56E21F77.1030403@cn.fujitsu.com> Date: Fri, 11 Mar 2016 09:29:27 +0800 From: Changlong Xie MIME-Version: 1.0 References: <1457605407-679-1-git-send-email-xiecl.fnst@cn.fujitsu.com> <56E1D9B3.3070908@redhat.com> In-Reply-To: <56E1D9B3.3070908@redhat.com> Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH] Introduce "xen-load-devices-state" List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Eric Blake , qemu devel , Juan Quintela , Amit Shah , Markus Armbruster Cc: "Dr. David Alan Gilbert" , zhanghailiang On 03/11/2016 04:31 AM, Eric Blake wrote: > On 03/10/2016 03:23 AM, Changlong Xie wrote: >> From: Wen Congyang >> >> Introduce a "xen-load-devices-state" QAPI command that can be used to load >> the state of all devices, but not the RAM or the block devices of the >> VM. >> >> We only have hmp commands savevm/loadvm, and qmp commands >> xen-save-devices-state. >> >> We use this new command for COLO: >> 1. suspend both primay vm and secondary vm > > s/primay/primary/ Hi Eric Will fix in next version. > >> 2. sync the state >> 3. resume both primary vm and secondary vm >> >> In such case, we need to update all devices's state in any time. > > s/devices's/devices/' Ditto. > >> >> Signed-off-by: Wen Congyang >> Signed-off-by: Changlong Xie >> --- > >> +++ b/qapi-schema.json >> @@ -4122,3 +4122,21 @@ >> ## >> { 'enum': 'ReplayMode', >> 'data': [ 'none', 'record', 'play' ] } >> + >> +## >> +# @xen-load-devices-state: >> +# >> +# Load the state of all devices from file. The RAM and the block devices >> +# of the VM are not loaded by this command. >> +# >> +# @filename: the file to load the state of the devices from as binary >> +# data. See xen-save-devices-state.txt for a description of the binary >> +# format. >> +# >> +# Returns: Nothing on success >> +# If @filename cannot be opened, OpenFileFailed >> +# If an I/O error occurs while reading the file, IOError > > Drop the whole Returns: paragraph. We have very few distinguished error > categories, and you are not using anything other than a generic error > category here (that is, OpenFileFailed and IOError are NOT valid QMP > error categories). > Ditto. >> +# >> +# Since: 2.6 > > You missed soft freeze; is this still 2.6 material? > "Since: 2.7" should be fine. > >> +++ b/qmp-commands.hx >> @@ -587,6 +587,33 @@ Example: >> EQMP >> >> { >> + .name = "xen-load-devices-state", >> + .args_type = "filename:F", >> + .mhandler.cmd_new = qmp_marshal_xen_load_devices_state, >> + }, >> + >> +SQMP >> +xen-load-devices-state >> +------- > > Make the ---- separator line the same length as the text it is underlining. > Surely. Thanks -Xie