On Sun, Aug 03, 2008 at 01:50:44AM +0200, Guido G?nther wrote:
diff --git a/src/qemu_conf.c b/src/qemu_conf.c
index 73039c5..331ff9d 100644
--- a/src/qemu_conf.c
+++ b/src/qemu_conf.c
@@ -883,6 +891,13 @@ int qemudBuildCommandLine(virConnectPtr conn,
int idx = virDiskNameToIndex(disk->dst);
const char *bus = virDomainDiskQEMUBusTypeToString(disk->bus);
+ if (disk->bus == VIR_DOMAIN_DISK_BUS_USB &&
+ disk->device == VIR_DOMAIN_DISK_DEVICE_DISK) {
+ ADD_USBDISK(disk->src);
+ disk = disk->next;
+ continue;
+ }
Should do a 'qemudReportError' if the device type != DISK, so if someone
mistakenly adds a floppy/cdrom it isn't silently ignored.
if (idx < 0) {
qemudReportError(conn, NULL, NULL, VIR_ERR_INTERNAL_ERROR,
_("unsupported disk type '%s'"),
disk->dst);
@@ -922,6 +937,13 @@ int qemudBuildCommandLine(virConnectPtr conn,
char dev[NAME_MAX];
char file[PATH_MAX];
+ if (disk->bus == VIR_DOMAIN_DISK_BUS_USB &&
+ disk->device == VIR_DOMAIN_DISK_DEVICE_DISK) {
+ ADD_USBDISK(disk->src);
+ disk = disk->next;
+ continue;
+ }
Same here.
+
if (STREQ(disk->dst, "hdc") &&
disk->device == VIR_DOMAIN_DISK_DEVICE_CDROM) {
if (disk->src) {
diff --git a/src/qemu_driver.c b/src/qemu_driver.c
index 1aff53e..018046e 100644
--- a/src/qemu_driver.c
+++ b/src/qemu_driver.c
@@ -2978,6 +2978,44 @@ static int qemudDomainAttachCdromDevice(virDomainPtr dom,
return 0;
}
+static int qemudDomainAttachUsbMassstorageDevice(virDomainPtr dom, virDomainDeviceDefPtr
dev)
+{
+ struct qemud_driver *driver = (struct qemud_driver *)dom->conn->privateData;
+ virDomainObjPtr vm = virDomainFindByUUID(driver->domains, dom->uuid);
+ int ret;
+ char *cmd, *reply;
+
+ ret = asprintf(&cmd, "usb_add disk:%s", dev->data.disk->src);
+
+ if (ret == -1) {
+ qemudReportError(dom->conn, dom, NULL, VIR_ERR_OPERATION_FAILED,
+ "%s", _("out of memory"));
Should just be
qemudReportError(dom->conn, NULL, NULL, VIR_ERR_NO_MEMORY, NULL);
As with the other patch we need to have an update to the RNG schema
and at least one example test data file in tests/qemuxml2argvdata/
with XML and corresponding ARGV, plumbed into qemuxml2xmltest.c and
qemuxml2argvtest.c
With those changes I'd be happy to see this committed.
Regards,
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 :|