Hi,
qemuDiskDeviceName treat's all IDE and SCSI devices as cdroms, make it
also handle disks. Make funcion arguments const.
-- Guido
>From 3204259d61af4eee8436ccaea66469544f929613 Mon Sep 17 00:00:00 2001
From: Guido Guenther <[EMAIL PROTECTED]>
Date: Fri, 10 Oct 2008 17:14:15 +0200
Subject: [PATCH] handle disks
---
src/qemu_driver.c | 14 ++++++++++----
1 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/src/qemu_driver.c b/src/qemu_driver.c
index 0a0efb6..b2ea0d1 100644
--- a/src/qemu_driver.c
+++ b/src/qemu_driver.c
@@ -2969,8 +2969,8 @@ static int qemudDomainUndefine(virDomainPtr dom) {
}
/* Return the disks name for use in monitor commands */
-static char *qemudDiskDeviceName(virDomainPtr dom,
- virDomainDiskDefPtr disk) {
+static char *qemudDiskDeviceName(const virDomainPtr dom,
+ const virDomainDiskDefPtr disk) {
int busid, devid;
int ret;
@@ -2985,10 +2985,16 @@ static char *qemudDiskDeviceName(virDomainPtr dom,
switch (disk->bus) {
case VIR_DOMAIN_DISK_BUS_IDE:
- ret = asprintf(&devname, "ide%d-cd%d", busid, devid);
+ if (disk->device== VIR_DOMAIN_DISK_DEVICE_DISK)
+ ret = asprintf(&devname, "ide%d-hd%d", busid, devid);
+ else
+ ret = asprintf(&devname, "ide%d-cd%d", busid, devid);
break;
case VIR_DOMAIN_DISK_BUS_SCSI:
- ret = asprintf(&devname, "scsi%d-cd%d", busid, devid);
+ if (disk->device == VIR_DOMAIN_DISK_DEVICE_DISK)
+ ret = asprintf(&devname, "scsi%d-hd%d", busid, devid);
+ else
+ ret = asprintf(&devname, "scsi%d-cd%d", busid, devid);
break;
case VIR_DOMAIN_DISK_BUS_FDC:
ret = asprintf(&devname, "floppy%d", devid);
--
1.5.6.5
--
Libvir-list mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/libvir-list