WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-changelog

[Xen-changelog] [xen-unstable] xend: Refactor vmmetrics destruction.

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] xend: Refactor vmmetrics destruction.
From: Xen patchbot-unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Mon, 22 Sep 2008 07:30:38 -0700
Delivery-date: Mon, 22 Sep 2008 07:30:39 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1222078539 -3600
# Node ID a1e86caf83a318cc62a8675b59464da77921e685
# Parent  2e8ad0c35792d1961c17d37f073e85b863519a92
xend: Refactor vmmetrics destruction.

Signed-off-by: Yosuke Iwamatsu <y-iwamatsu@xxxxxxxxxxxxx>
---
 tools/python/xen/xend/XendDomain.py     |    5 ++---
 tools/python/xen/xend/XendDomainInfo.py |   17 ++++++++++-------
 2 files changed, 12 insertions(+), 10 deletions(-)

diff -r 2e8ad0c35792 -r a1e86caf83a3 tools/python/xen/xend/XendDomain.py
--- a/tools/python/xen/xend/XendDomain.py       Thu Sep 18 10:43:08 2008 +0100
+++ b/tools/python/xen/xend/XendDomain.py       Mon Sep 22 11:15:39 2008 +0100
@@ -344,6 +344,7 @@ class XendDomain:
             if self.is_domain_managed(dom):
                 self._managed_config_remove(dom.get_uuid())
                 del self.managed_domains[dom.get_uuid()]
+                dom.destroy_xapi_instances()
         except ValueError:
             log.warn("Domain is not registered: %s" % dom.get_uuid())
 
@@ -481,7 +482,7 @@ class XendDomain:
             if domid in self.domains:
                 del self.domains[domid]
 
-            info.destroy_xapi_device_instances()
+            info.destroy_xapi_instances()
         else:
             log.warning("Attempted to remove non-existent domain.")
 
@@ -1091,11 +1092,9 @@ class XendDomain:
         log.info("Domain %s (%s) deleted." %
                  (dominfo.getName(), dominfo.info.get('uuid')))
                 
-        dominfo.metrics.destroy()
         self._managed_domain_unregister(dominfo)
         self._remove_domain(dominfo)
         XendDevices.destroy_device_state(dominfo)
-        dominfo.destroy_xapi_device_instances()
 
 
     def domain_configure(self, config):
diff -r 2e8ad0c35792 -r a1e86caf83a3 tools/python/xen/xend/XendDomainInfo.py
--- a/tools/python/xen/xend/XendDomainInfo.py   Thu Sep 18 10:43:08 2008 +0100
+++ b/tools/python/xen/xend/XendDomainInfo.py   Mon Sep 22 11:15:39 2008 +0100
@@ -2642,9 +2642,6 @@ class XendDomainInfo:
     def _cleanupVm(self):
         """Cleanup VM resources.  Idempotent.  Nothrow guarantee."""
 
-        from xen.xend import XendDomain
-        if not XendDomain.instance().is_domain_managed(self):
-            self.metrics.destroy()
         self._unwatchVm()
 
         try:
@@ -3507,12 +3504,12 @@ class XendDomainInfo:
             except Exception, exn:
                 raise XendError('Failed to destroy device')
 
-    def destroy_xapi_device_instances(self):
-        """Destroy Xen-API device instances stored in XendAPIStore.
+    def destroy_xapi_instances(self):
+        """Destroy Xen-API instances stored in XendAPIStore.
         """
         # Xen-API classes based on XendBase have their instances stored
-        # in XendAPIStore. Cleanup these virtual device instances here
-        # if they are supposed to be destroyed when the parent domain is dead.
+        # in XendAPIStore. Cleanup these instances here, if they are supposed
+        # to be destroyed when the parent domain is dead.
         #
         # Most of the virtual devices (vif, vbd, vfb, etc) are not based on
         # XendBase and there's no need to remove them from XendAPIStore.
@@ -3522,6 +3519,12 @@ class XendDomainInfo:
             # domain still exists.
             return
 
+        # Destroy the VMMetrics instance.
+        if XendAPIStore.get(self.metrics.get_uuid(), self.metrics.getClass()) \
+                is not None:
+            self.metrics.destroy()
+
+        # Destroy DPCI instances.
         for dpci_uuid in XendDPCI.get_by_VM(self.info.get('uuid')):
             XendAPIStore.deregister(dpci_uuid, "DPCI")
             

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [xen-unstable] xend: Refactor vmmetrics destruction., Xen patchbot-unstable <=