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 4BF3CF602 for ; Fri, 31 May 2013 08:49:48 +0000 (UTC) Received: (qmail 50737 invoked by uid 500); 31 May 2013 08:49:48 -0000 Delivered-To: apmail-cloudstack-commits-archive@cloudstack.apache.org Received: (qmail 50690 invoked by uid 500); 31 May 2013 08:49:47 -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 50673 invoked by uid 99); 31 May 2013 08:49:47 -0000 Received: from tyr.zones.apache.org (HELO tyr.zones.apache.org) (140.211.11.114) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 31 May 2013 08:49:47 +0000 Received: by tyr.zones.apache.org (Postfix, from userid 65534) id E663689E8D4; Fri, 31 May 2013 08:49:46 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: weizhou@apache.org To: commits@cloudstack.apache.org Message-Id: <94e9de7446e84f2d9e3d6c397abc256a@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: git commit: updated refs/heads/disk_io_stat to 385ca81 Date: Fri, 31 May 2013 08:49:46 +0000 (UTC) Updated Branches: refs/heads/disk_io_stat c30057635 -> 385ca81e0 CLOUDSTACK-1192: add RBD support Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/385ca81e Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/385ca81e Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/385ca81e Branch: refs/heads/disk_io_stat Commit: 385ca81e01754f0f65c18d32f0d35b41616498ac Parents: c300576 Author: Wei Zhou Authored: Fri May 31 10:49:35 2013 +0200 Committer: Wei Zhou Committed: Fri May 31 10:49:35 2013 +0200 ---------------------------------------------------------------------- .../kvm/resource/LibvirtComputingResource.java | 23 +++++++++------ 1 files changed, 14 insertions(+), 9 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cloudstack/blob/385ca81e/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java ---------------------------------------------------------------------- diff --git a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java index 46fce24..d402c61 100755 --- a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java +++ b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java @@ -189,6 +189,7 @@ import com.cloud.hypervisor.kvm.resource.LibvirtVMDef.ConsoleDef; import com.cloud.hypervisor.kvm.resource.LibvirtVMDef.CpuTuneDef; import com.cloud.hypervisor.kvm.resource.LibvirtVMDef.DevicesDef; import com.cloud.hypervisor.kvm.resource.LibvirtVMDef.DiskDef; +import com.cloud.hypervisor.kvm.resource.LibvirtVMDef.DiskDef.deviceType; import com.cloud.hypervisor.kvm.resource.LibvirtVMDef.DiskDef.diskProtocol; import com.cloud.hypervisor.kvm.resource.LibvirtVMDef.FeaturesDef; import com.cloud.hypervisor.kvm.resource.LibvirtVMDef.FilesystemDef; @@ -4549,15 +4550,19 @@ ServerResource { List disks = getDisks(conn, vmName); for (DiskDef disk : disks) { - DomainBlockStats blockStats = dm.blockStats(disk.getDiskLabel()); - String path = disk.getDiskPath(); // for example, path = /mnt/pool_uuid/disk_path/ - String diskPath = null; - if (path != null) { - String[] token = path.split("/"); - if (token.length > 3) { - diskPath = token[3]; - VmDiskStatsEntry stat = new VmDiskStatsEntry(vmName, diskPath, blockStats.wr_req, blockStats.rd_req, blockStats.wr_bytes, blockStats.rd_bytes); - stats.add(stat); + if (disk.getDeviceType().equals(deviceType.DISK)) { + DomainBlockStats blockStats = dm.blockStats(disk.getDiskLabel()); + String path = disk.getDiskPath(); + String diskPath = null; + if (path != null) { + if (path.startsWith("rbd:")) // path = rbd:/mnt/pool_uuid/disk_path/ + path = path.replace("rbd:", ""); + String[] token = path.split("/"); // path = /mnt/pool_uuid/disk_path/ + if (token.length > 3) { + diskPath = token[3]; + VmDiskStatsEntry stat = new VmDiskStatsEntry(vmName, diskPath, blockStats.wr_req, blockStats.rd_req, blockStats.wr_bytes, blockStats.rd_bytes); + stats.add(stat); + } } } }