From 56fcfd01bd566c56c4dd27c14c71d148ada43352 Mon Sep 17 00:00:00 2001 From: Edison Su Date: Mon, 19 Dec 2011 18:03:09 -0800 Subject: [PATCH] bug 12627: if nic stats less than 0, just return 0 status 12627: resolved fixed --- .../resource/computing/LibvirtComputingResource.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/agent/src/com/cloud/agent/resource/computing/LibvirtComputingResource.java b/agent/src/com/cloud/agent/resource/computing/LibvirtComputingResource.java index 28241e259a7..e5b5facb0f0 100644 --- a/agent/src/com/cloud/agent/resource/computing/LibvirtComputingResource.java +++ b/agent/src/com/cloud/agent/resource/computing/LibvirtComputingResource.java @@ -1993,7 +1993,7 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv getUsage.add("-d", vif); } - getUsage.add(" -i ", privateIpAddress); + getUsage.add("-i", privateIpAddress); final OutputInterpreter.OneLineParser usageParser = new OutputInterpreter.OneLineParser(); String result = getUsage.execute(usageParser); if (result != null) { @@ -3434,8 +3434,12 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv } if (oldStats != null) { - stats.setNetworkReadKBs((rx - oldStats._rx)/1000); - stats.setNetworkWriteKBs((tx - oldStats._tx)/1000); + long deltarx = rx - oldStats._rx; + if (deltarx > 0) + stats.setNetworkReadKBs(deltarx/1000); + long deltatx = tx - oldStats._tx; + if (deltatx > 0) + stats.setNetworkWriteKBs(deltatx/1000); } vmStats newStat = new vmStats();