Change in vdsm[ovirt-3.4]: vdsm: fix RTC offset

fromani at redhat.com fromani at redhat.com
Fri Feb 7 10:51:16 UTC 2014


Hello Dan Kenigsberg, Peter V. Saveliev, Martin Polednik,

I'd like you to do a code review.  Please visit

    http://gerrit.ovirt.org/24196

to review the following change.

Change subject: vdsm: fix RTC offset
......................................................................

vdsm: fix RTC offset

Upon RTC update (hwclock --systohc) on the guest side, libvirt sends the event
with RTC offset from the qemu start -rtc value in seconds. The received offset
should not replace the previous value, but should be added to it. Since the
time update event is relative to the qemu start time, we should store the
initial value and use it for the calculation.

Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=956741
Change-Id: I27c70a53f64fb05607e93bffbac25fdee7d1cd2a
Signed-off-by: Peter V. Saveliev <peet at redhat.com>
Reviewed-on: http://gerrit.ovirt.org/14750
Tested-by: Martin Polednik <mpoledni at redhat.com>
Reviewed-by: Dan Kenigsberg <danken at redhat.com>
---
M vdsm/vm.py
1 file changed, 4 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/96/24196/1

diff --git a/vdsm/vm.py b/vdsm/vm.py
index bf64195..caec964 100644
--- a/vdsm/vm.py
+++ b/vdsm/vm.py
@@ -1914,6 +1914,7 @@
         self.id = self.conf['vmId']
         self._volPrepareLock = threading.Lock()
         self._initTimePauseCode = None
+        self._initTimeRTC = long(self.conf.get('timeOffset', 0))
         self.guestAgent = None
         self._guestEvent = 'Powering up'
         self._guestEventTime = 0
@@ -2413,9 +2414,10 @@
         timer.start()
 
     def _rtcUpdate(self, timeOffset):
-        self.log.debug('new rtc offset %s', timeOffset)
+        newTimeOffset = str(self._initTimeRTC + long(timeOffset))
+        self.log.debug('new rtc offset %s', newTimeOffset)
         with self._confLock:
-            self.conf['timeOffset'] = timeOffset
+            self.conf['timeOffset'] = newTimeOffset
 
     def extendDrivesIfNeeded(self):
         extend = []


-- 
To view, visit http://gerrit.ovirt.org/24196
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I27c70a53f64fb05607e93bffbac25fdee7d1cd2a
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: ovirt-3.4
Gerrit-Owner: Francesco Romani <fromani at redhat.com>
Gerrit-Reviewer: Dan Kenigsberg <danken at redhat.com>
Gerrit-Reviewer: Martin Polednik <mpoledni at redhat.com>
Gerrit-Reviewer: Peter V. Saveliev <peet at redhat.com>


More information about the vdsm-patches mailing list