From b30b75cd18120d1b541f0ecf5f02271f9ede1070 Mon Sep 17 00:00:00 2001 From: abhishek Date: Thu, 20 Jan 2011 11:41:04 -0800 Subject: [PATCH] bug 8048: preventing returning of volumes attached to destroyed vms, when list vols is executed by normal user status 8048: resolved fixed --- .../com/cloud/server/ManagementServerImpl.java | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/server/src/com/cloud/server/ManagementServerImpl.java b/server/src/com/cloud/server/ManagementServerImpl.java index feb6db0927a..6172d799d71 100755 --- a/server/src/com/cloud/server/ManagementServerImpl.java +++ b/server/src/com/cloud/server/ManagementServerImpl.java @@ -2405,7 +2405,22 @@ public class ManagementServerImpl implements ManagementServer { } else { - returnableVolumes.add(v); + //do not add to returnable list if vol belongs to a user vm that is destoyed and cmd called by user + if(v.getInstanceId() == null) { + returnableVolumes.add(v); + }else { + if (account.getType() == Account.ACCOUNT_TYPE_NORMAL){ + VMInstanceVO owningVm = _vmInstanceDao.findById(v.getInstanceId()); + if(owningVm != null && owningVm.getType().equals(VirtualMachine.Type.User) && owningVm.getState().equals(VirtualMachine.State.Destroyed)){ + // do not show volumes + // do nothing + }else { + returnableVolumes.add(v); + } + }else { + returnableVolumes.add(v); + } + } } }