Return-Path: X-Original-To: apmail-cloudstack-commits-archive@www.apache.org Delivered-To: apmail-cloudstack-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 51FB39CCE for ; Thu, 30 May 2013 11:22:52 +0000 (UTC) Received: (qmail 86147 invoked by uid 500); 30 May 2013 11:22:49 -0000 Delivered-To: apmail-cloudstack-commits-archive@cloudstack.apache.org Received: (qmail 86023 invoked by uid 500); 30 May 2013 11:22:48 -0000 Mailing-List: contact commits-help@cloudstack.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cloudstack.apache.org Delivered-To: mailing list commits@cloudstack.apache.org Received: (qmail 79348 invoked by uid 99); 30 May 2013 11:22:33 -0000 Received: from tyr.zones.apache.org (HELO tyr.zones.apache.org) (140.211.11.114) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 30 May 2013 11:22:33 +0000 Received: by tyr.zones.apache.org (Postfix, from userid 65534) id BE2F189DB4F; Thu, 30 May 2013 11:22:32 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: sateesh@apache.org To: commits@cloudstack.apache.org Date: Thu, 30 May 2013 11:22:48 -0000 Message-Id: <3bf44cd587de4d33a35c141446c8b428@git.apache.org> In-Reply-To: <75272effbbfd418390d4d412680937a4@git.apache.org> References: <75272effbbfd418390d4d412680937a4@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [17/50] [abbrv] git commit: updated refs/heads/vmware-storage-motion to 406785b migrate volume in Vmware leaves a copy of this volume untracked in secondary storage, this patch removes the volume in secondary storag after volume migration Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/a91f04e7 Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/a91f04e7 Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/a91f04e7 Branch: refs/heads/vmware-storage-motion Commit: a91f04e759be7132ceda11ec5b3e1ff19d83c4e3 Parents: 0b728f2 Author: Anthony Xu Authored: Wed May 29 14:11:57 2013 -0700 Committer: Anthony Xu Committed: Wed May 29 14:11:57 2013 -0700 ---------------------------------------------------------------------- .../vmware/manager/VmwareStorageManagerImpl.java | 19 +++++++++++++++ 1 files changed, 19 insertions(+), 0 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cloudstack/blob/a91f04e7/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/manager/VmwareStorageManagerImpl.java ---------------------------------------------------------------------- diff --git a/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/manager/VmwareStorageManagerImpl.java b/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/manager/VmwareStorageManagerImpl.java index 9f1351e..faadbac 100644 --- a/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/manager/VmwareStorageManagerImpl.java +++ b/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/manager/VmwareStorageManagerImpl.java @@ -491,6 +491,7 @@ public class VmwareStorageManagerImpl implements VmwareStorageManager { hyperHost, volumeId, new DatastoreMO(context, morDatastore), secondaryStorageURL, volumePath); + deleteVolumeDirOnSecondaryStorage(volumeId, secondaryStorageURL); } return new CopyVolumeAnswer(cmd, true, null, result.first(), result.second()); } catch (Throwable e) { @@ -1438,4 +1439,22 @@ public class VmwareStorageManagerImpl implements VmwareStorageManager { workingVM = hyperHost.findVmOnHyperHost(uniqueName); return workingVM; } + + + + private String deleteVolumeDirOnSecondaryStorage(long volumeId, String secStorageUrl) throws Exception { + String secondaryMountPoint = _mountService.getMountPoint(secStorageUrl); + String volumeMountRoot = secondaryMountPoint + "/" + getVolumeRelativeDirInSecStroage(volumeId); + + return deleteDir(volumeMountRoot); + } + + private String deleteDir(String dir) { + synchronized(dir.intern()) { + Script command = new Script(false, "rm", _timeout, s_logger); + command.add("-rf"); + command.add(dir); + return command.execute(); + } + } }