From c3b6fd561cd20e572a19f22c4822e23cb8f4e42a Mon Sep 17 00:00:00 2001 From: Kelven Yang Date: Wed, 24 Aug 2011 15:16:59 -0700 Subject: [PATCH] bug 11230, 11229: merge fix from 2.2.10 branch, fix Eclipse project settings for premium-move --- .../vmware/resource/VmwareResource.java | 30 +++++++++++++++---- server/.classpath | 1 + 2 files changed, 25 insertions(+), 6 deletions(-) diff --git a/core/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java b/core/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java index 47051936fdf..7ec6c2b4462 100755 --- a/core/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java +++ b/core/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java @@ -1996,9 +1996,12 @@ public class VmwareResource implements StoragePoolResource, ServerResource, Vmwa } StorageFilerTO pool = cmd.getPool(); - try { - VmwareHypervisorHost hyperHost = this.getHyperHost(getServiceContext()); - hyperHost.unmountDatastore(pool.getUuid()); + try { + // We will leave datastore cleanup management to vCenter. Since for cluster VMFS datastore, it will always + // be mounted by vCenter. + + // VmwareHypervisorHost hyperHost = this.getHyperHost(getServiceContext()); + // hyperHost.unmountDatastore(pool.getUuid()); Answer answer = new Answer(cmd, true, "success"); return answer; } catch (Throwable e) { @@ -2599,7 +2602,12 @@ public class VmwareResource implements StoragePoolResource, ServerResource, Vmwa if (s_logger.isInfoEnabled()) s_logger.info("Destroy volume by original name: " + cmd.getVolume().getPath() + ".vmdk"); - dsMo.deleteFile(cmd.getVolume().getPath() + ".vmdk", morDc, true); + dsMo.deleteFile(cmd.getVolume().getPath() + ".vmdk", morDc, true); + + // root volume may be created via linked-clone, delete the delta disk as well + if (s_logger.isInfoEnabled()) + s_logger.info("Destroy volume by derived name: " + cmd.getVolume().getPath() + "-delta.vmdk"); + dsMo.deleteFile(cmd.getVolume().getPath() + "-delta.vmdk", morDc, true); return new Answer(cmd, true, "Success"); } @@ -2634,13 +2642,23 @@ public class VmwareResource implements StoragePoolResource, ServerResource, Vmwa if (s_logger.isInfoEnabled()) { s_logger.info("Empty disk chain info, fall back to try to delete by original backing file name"); } - dsMo.deleteFile(cmd.getVolume().getPath() + ".vmdk", morDc, true); + dsMo.deleteFile(cmd.getVolume().getPath() + ".vmdk", morDc, true); + + if (s_logger.isInfoEnabled()) { + s_logger.info("Destroy volume by derived name: " + cmd.getVolume().getPath() + "-flat.vmdk"); + } + dsMo.deleteFile(cmd.getVolume().getPath() + "-flat.vmdk", morDc, true); } } else { if (s_logger.isInfoEnabled()) { s_logger.info("Destroy volume by original name: " + cmd.getVolume().getPath() + ".vmdk"); } - dsMo.deleteFile(cmd.getVolume().getPath() + ".vmdk", morDc, true); + dsMo.deleteFile(cmd.getVolume().getPath() + ".vmdk", morDc, true); + + if (s_logger.isInfoEnabled()) { + s_logger.info("Destroy volume by derived name: " + cmd.getVolume().getPath() + "-flat.vmdk"); + } + dsMo.deleteFile(cmd.getVolume().getPath() + "-flat.vmdk", morDc, true); } return new Answer(cmd, true, "Success"); diff --git a/server/.classpath b/server/.classpath index a4df474268d..77a010dd9da 100644 --- a/server/.classpath +++ b/server/.classpath @@ -9,5 +9,6 @@ +