[libvirt] [PATCH] qemu: fix block stats for virtio and scsi
Daniel P. Berrange
berrange at redhat.com
Thu Oct 2 20:06:25 UTC 2008
On Thu, Oct 02, 2008 at 09:56:51PM +0200, Guido G?nther wrote:
> Hi,
> qemudDomainBlockStats needs to map between qemu and libvirt device
> naming as well. Possible patch attached.
> Cheers,
> -- Guido
> >From 57b8c8e66abfcc57c2f05d8b8364de6ecc05dcf9 Mon Sep 17 00:00:00 2001
> From: Guido Guenther <agx at sigxcpu.org>
> Date: Thu, 2 Oct 2008 21:12:20 +0200
> Subject: [PATCH] support virtio and scsi disks in qemudDomainBlockStats
>
> ---
> src/qemu_driver.c | 8 ++++++++
> 1 files changed, 8 insertions(+), 0 deletions(-)
>
> diff --git a/src/qemu_driver.c b/src/qemu_driver.c
> index a1e7285..2a7c555 100644
> --- a/src/qemu_driver.c
> +++ b/src/qemu_driver.c
> @@ -3416,6 +3416,8 @@ qemudDomainBlockStats (virDomainPtr dom,
> * hd[a-] to ide0-hd[0-]
> * cdrom to ide1-cd0
> * fd[a-] to floppy[0-]
> + * vd[a-] to virtio[0-]
> + * sd[a-] to scsi0-hd[0-]
> */
> if (STRPREFIX (path, "hd") && c_islower(path[2]))
> snprintf (qemu_dev_name, sizeof (qemu_dev_name),
> @@ -3425,6 +3427,12 @@ qemudDomainBlockStats (virDomainPtr dom,
> else if (STRPREFIX (path, "fd") && c_islower(path[2]))
> snprintf (qemu_dev_name, sizeof (qemu_dev_name),
> "floppy%d", path[2] - 'a');
> + else if (STRPREFIX (path, "vd") && c_islower(path[2]))
> + snprintf (qemu_dev_name, sizeof (qemu_dev_name),
> + "virtio%d", path[2] - 'a');
> + else if (STRPREFIX (path, "sd") && c_islower(path[2]))
> + snprintf (qemu_dev_name, sizeof (qemu_dev_name),
> + "scsi0-hd%d", path[2] - 'a');
This isn't correct - it is assuming only a single letter after
the prefix - while true for IDE & Floppy, it doesn't hold true for
SCSI which can have more than 26 devices, so goes to double letters.
We also need to consider Xen style xvdXX devices for Xenner.
I think this needs to use the virDiskNameToIndex() method to
extract the index instead.
Daniel
--
|: Red Hat, Engineering, London -o- http://people.redhat.com/berrange/ :|
|: http://libvirt.org -o- http://virt-manager.org -o- http://ovirt.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|
More information about the libvir-list
mailing list