You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by bh...@apache.org on 2015/02/02 11:17:18 UTC
[20/20] git commit: updated refs/heads/4.5 to 64e938b
fixed NPE on calculating vm snasphot volume size
(cherry picked from commit 95c7ffbd46f9f674b8813a7b992c17019eb00137)
Signed-off-by: Rohit Yadav <ro...@shapeblue.com>
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/64e938b7
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/64e938b7
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/64e938b7
Branch: refs/heads/4.5
Commit: 64e938b7014da9994185dfe80120254cd96d4f7a
Parents: 86fe713
Author: Anthony Xu <an...@citrix.com>
Authored: Mon Oct 13 10:29:58 2014 -0700
Committer: Rohit Yadav <ro...@shapeblue.com>
Committed: Mon Feb 2 15:03:43 2015 +0530
----------------------------------------------------------------------
.../xenserver/resource/CitrixResourceBase.java | 16 ++++++++++------
1 file changed, 10 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/64e938b7/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/CitrixResourceBase.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/CitrixResourceBase.java b/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/CitrixResourceBase.java
index ef1a950..a90f99d 100644
--- a/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/CitrixResourceBase.java
+++ b/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/CitrixResourceBase.java
@@ -6232,11 +6232,11 @@ public abstract class CitrixResourceBase implements ServerResource, HypervisorRe
// add size of snapshot vdi node, usually this only contains meta data
size = size + vdi.getPhysicalUtilisation(conn);
// add size of snapshot vdi parent, this contains data
- if (parentVDI != null)
+ if (!isRefNull(parentVDI))
size = size + parentVDI.getPhysicalUtilisation(conn).longValue();
}
} catch (Exception e) {
- s_logger.debug("Exception occurs when calculate " + "snapshot capacity for volumes: " + e.getMessage());
+ s_logger.debug("Exception occurs when calculate snapshot capacity for volumes: due to " + e.toString());
continue;
}
}
@@ -6248,13 +6248,17 @@ public abstract class CitrixResourceBase implements ServerResource, HypervisorRe
try {
String vName = vmr.getNameLabel(conn);
if (vName != null && vName.contains(vmName) && vmr.getIsASnapshot(conn)) {
-
VDI memoryVDI = vmr.getSuspendVDI(conn);
- size = size + memoryVDI.getParent(conn).getPhysicalUtilisation(conn);
- size = size + memoryVDI.getPhysicalUtilisation(conn);
+ if (!isRefNull(memoryVDI)) {
+ size = size + memoryVDI.getPhysicalUtilisation(conn);
+ VDI pMemoryVDI = memoryVDI.getParent(conn);
+ if (!isRefNull(pMemoryVDI)) {
+ size = size + pMemoryVDI.getPhysicalUtilisation(conn);
+ }
+ }
}
} catch (Exception e) {
- s_logger.debug("Exception occurs when calculate " + "snapshot capacity for memory: " + e.getMessage());
+ s_logger.debug("Exception occurs when calculate snapshot capacity for memory: due to " + e.toString());
continue;
}
}