[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] I have previously posted a patch with changes to the xenbus for being
# HG changeset patch # User kaf24@xxxxxxxxxxxxxxxxxxxx # Node ID 0bd023cf351eae5d41b86889d3febb4d41b6df69 # Parent 6d9b7a0ba238786008e0e96323180eff7a61c468 I have previously posted a patch with changes to the xenbus for being able to detect the reason why a frontend is created, which can be either due to domain creation or a restore. The attached patch now puts this functionality into XenD and allows driver implementations in Xend to read the state and see whether a domain is currently being resumed or created and write this value into the xenstore for hotplug scripts to read it. The state of a domain being resumed is set when a XendDomainInfo object is created and reset at the end of the restore function. Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxx> diff -r 6d9b7a0ba238 -r 0bd023cf351e tools/python/xen/xend/XendDomainInfo.py --- a/tools/python/xen/xend/XendDomainInfo.py Fri Feb 3 10:51:39 2006 +++ b/tools/python/xen/xend/XendDomainInfo.py Fri Feb 3 10:54:05 2006 @@ -251,13 +251,14 @@ log.debug("XendDomainInfo.restore(%s)", config) - vm = XendDomainInfo(parseConfig(config)) + vm = XendDomainInfo(parseConfig(config), None, None, False, False, True) try: vm.construct() vm.storeVmDetails() vm.createDevices() vm.createChannels() vm.storeDomDetails() + vm.endRestore() return vm except: vm.destroy() @@ -410,7 +411,7 @@ class XendDomainInfo: def __init__(self, info, domid = None, dompath = None, augment = False, - priv = False): + priv = False, resume = False): self.info = info @@ -445,6 +446,7 @@ self.state_updated = threading.Condition() self.refresh_shutdown_lock = threading.Condition() + self.setResume(resume) ## private: @@ -758,6 +760,14 @@ """Get this domain's target memory size, in KB.""" return self.info['memory'] * 1024 + def getResume(self): + return "%s" % self.info['resume'] + + def endRestore(self): + self.setResume(False) + + def setResume(self, state): + self.info['resume'] = state def refreshShutdown(self, xeninfo = None): # If set at the end of this method, a restart is required, with the diff -r 6d9b7a0ba238 -r 0bd023cf351e tools/python/xen/xend/server/tpmif.py --- a/tools/python/xen/xend/server/tpmif.py Fri Feb 3 10:51:39 2006 +++ b/tools/python/xen/xend/server/tpmif.py Fri Feb 3 10:54:05 2006 @@ -45,7 +45,8 @@ log.info("The domain has a TPM with instance %d and devid %d.", inst, devid) - back = { 'pref_instance' : "%i" % inst } + back = { 'pref_instance' : "%i" % inst, + 'resume' : "%s" % (self.vm.getResume()) } front = { 'handle' : "%i" % devid } return (devid, back, front) _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |