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

[Xen-changelog] [xen-unstable] xm: Reuse VDI if location is same



# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1255591868 -3600
# Node ID 6f79f2d5e63b8f79991fe422bb4147b0ee0dcdd3
# Parent  e976deb67899f6b9b802a2d8f029ef0ae8d1a132
xm: Reuse VDI if location is same

In XenAPI mode, when we start a VM by using xm create command, VDIs
are always automatically created for VBDs.  Once we shut down the
VM, then start the VM again, then VDIs are newly created.  As a
result, a vdi.xml file continues to expand.

This patch reuses VDIs if location of the VDIs is same.

Signed-off-by: Masaki Kanno <kanno.masaki@xxxxxxxxxxxxxx>
---
 tools/python/xen/xm/xenapi_create.py |   10 ++++++++++
 1 files changed, 10 insertions(+)

diff -r e976deb67899 -r 6f79f2d5e63b tools/python/xen/xm/xenapi_create.py
--- a/tools/python/xen/xm/xenapi_create.py      Thu Oct 15 08:30:31 2009 +0100
+++ b/tools/python/xen/xm/xenapi_create.py      Thu Oct 15 08:31:08 2009 +0100
@@ -215,6 +215,16 @@ class xenapi_create:
     def create_vdi(self, vdi):
         log(DEBUG, "create_vdi")
 
+        for ref, record in server.xenapi.VDI.get_all_records().items():
+            location = record["other_config"]["location"]
+            if vdi.attributes["src"].value != location:
+                continue
+
+            # Reuse the VDI because the location is same.
+            key = vdi.attributes["name"].value
+            return (key, ref)
+
+        # Create a new VDI.
         vdi_record = {
             "name_label":       get_name_label(vdi),
             "name_description": get_name_description(vdi),

_______________________________________________
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®.