# 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
|