[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] Make vif cleanup use xstransact and use classmethods for setup.



# HG changeset patch
# User cl349@xxxxxxxxxxxxxxxxxxxx
# Node ID 31c257b9a36025fba57dcd3d0a5fe707785cbd70
# Parent  1a27091a1e7a5d6b73bf6bbf2d687fc6acc21412
Make vif cleanup use xstransact and use classmethods for setup.
Signed-off-by: Christian Limpach <Christian.Limpach@xxxxxxxxxxxx>

diff -r 1a27091a1e7a -r 31c257b9a360 tools/python/xen/xend/XendDomainInfo.py
--- a/tools/python/xen/xend/XendDomainInfo.py   Fri Sep  9 17:34:40 2005
+++ b/tools/python/xen/xend/XendDomainInfo.py   Fri Sep  9 17:36:39 2005
@@ -457,24 +457,22 @@
                                                 self.uuid, devnum)
             frontpath = "%s/device/%s/%d" % (self.path, type, devnum)
 
-            frontt = xstransact(frontpath)
-            frontt.write('backend', backpath)
-            frontt.write('backend-id', "%i" % backdom.id)
-            frontt.write('handle', "%i" % devnum)
-            frontt.write('mac', mac)
-            frontt.commit()
-
-            backt = xstransact(backpath)
-            backt.write('script', script)
-            backt.write('domain', self.name)
-            backt.write('mac', mac)
-            backt.write('bridge', bridge)
+            front = { 'backend' : backpath,
+                      'backend-id' : "%i" % backdom.id,
+                      'handle' : "%i" % devnum,
+                      'mac' : mac }
+            xstransact.Write(frontpath, front)
+
+            back = { 'script' : script,
+                     'domain' : self.name,
+                     'mac' : mac,
+                     'bridge' : bridge,
+                     'frontend' : frontpath,
+                     'frontend-id' : "%i" % self.id,
+                     'handle' : "%i" % devnum }
             if ipaddr:
-                backt.write('ip', ' '.join(ipaddr))
-            backt.write('frontend', frontpath)
-            backt.write('frontend-id', "%i" % self.id)
-            backt.write('handle', "%i" % devnum)
-            backt.commit()
+                back['ip'] = ' '.join(ipaddr)
+            xstransact.Write(backpath, back)
 
             return
         
@@ -801,6 +799,10 @@
         for ctrl in self.getDeviceControllers():
             if ctrl.isDestroyed(): continue
             ctrl.destroyController(reboot=reboot)
+        t = xstransact("%s/device" % self.path)
+        for d in t.list("vif"):
+            t.remove(d)
+        t.commit()
         ddb = self.db.addChild("/device")
         for type in ddb.keys():
             if type == 'vbd':
@@ -809,11 +811,6 @@
                     devdb = typedb.addChild(str(dev))
                     Blkctl.block('unbind', devdb['type'].getData(),
                                  devdb['node'].getData())
-                    typedb[dev].delete()
-                typedb.saveDB(save=True)
-            if type == 'vif':
-                typedb = ddb.addChild(type)
-                for dev in typedb.keys():
                     typedb[dev].delete()
                 typedb.saveDB(save=True)
             if type == 'vtpm':

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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.