From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:59872) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UCoLZ-0006U0-Hj for qemu-devel@nongnu.org; Tue, 05 Mar 2013 04:39:49 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UCoLT-0002Ay-Gk for qemu-devel@nongnu.org; Tue, 05 Mar 2013 04:39:45 -0500 Received: from e23smtp02.au.ibm.com ([202.81.31.144]:60557) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UCoLS-0002AR-PP for qemu-devel@nongnu.org; Tue, 05 Mar 2013 04:39:39 -0500 Received: from /spool/local by e23smtp02.au.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Tue, 5 Mar 2013 19:33:06 +1000 Received: from d23relay05.au.ibm.com (d23relay05.au.ibm.com [9.190.235.152]) by d23dlp01.au.ibm.com (Postfix) with ESMTP id AEDD72CE804C for ; Tue, 5 Mar 2013 20:39:31 +1100 (EST) Received: from d23av04.au.ibm.com (d23av04.au.ibm.com [9.190.235.139]) by d23relay05.au.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id r259QkN261210850 for ; Tue, 5 Mar 2013 20:26:47 +1100 Received: from d23av04.au.ibm.com (loopback [127.0.0.1]) by d23av04.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id r259dTBt024097 for ; Tue, 5 Mar 2013 20:39:30 +1100 From: Lei Li Date: Tue, 5 Mar 2013 17:39:10 +0800 Message-Id: <1362476352-31414-1-git-send-email-lilei@linux.vnet.ibm.com> Subject: [Qemu-devel] [PATCH 0/2 v5] Time resync support by qemu-ga List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: aliguori@us.ibm.com, mdroth@linux.vnet.ibm.com, Lei Li This patch series attempts to add time resync support to qemu-ga by introducing qemu-ga commands guest-get-time and guest-set-time. Right now, when a guest is paused or migrated to a file then loaded from that file, the guest OS has no idea that there was a big gap in the time. Depending on how long the gap was, NTP might not be able to resynchronize the guest. So adding new guest-agent command that is called any time a guest is resumed and which tells the guest to update its own wall clock time based on the information from the host will make it easier for a guest to resynchronize without waiting for NTP. The previous RFC send for discussion and suggestion as link here: http://article.gmane.org/gmane.comp.emulators.qemu/186126 The interface for these commands like: { 'command': 'guest-get-time', 'returns': 'int' } { 'command': 'guest-set-time', 'data': { 'time': int } } Notes: For the implementition of win32-specific commands, I plan to send it out in another thread later. Suggestions and comments are welcome! Changes since v4: - Fix the missing error exit pointed by Eric. - Doc improvement from Eric. Changes since v3: - Doc improvement based on Eric's suggestions. - Overflow check improve from Eric. Changes since v2: - Get rid of utc-offset, and make it just pass single nanoseconds relative to the Epoch in UTC/GMT according to Anthony and Eric's comments. - Make time argument mandatory. - Fix the overflow check for year-2038 problem. - Error handel improvment from Eric. Changes since v1: - Squashed patches add support to get host time and add guest-get-time command into one. - Documents improvment based on the suggestions from Eric and Mike. - Change the name of 'HostTimeInfo' to 'TimeInfo'. - Better use-case and logic for 'guest-set-time' command suggested by Eric. - Error handel improvment from Luiz. Lei Li (2): qga: add guest-get-time command qga: add guest-set-time command