From: Wolfgang Mauerer <wolfgang.mauerer@siemens.com>
To: Gerd Hoffmann <kraxel@redhat.com>
Cc: "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>
Subject: [Qemu-devel] [PATCH, RFC] Allow adding empty SCSI controllers
Date: Tue, 15 Dec 2009 18:30:25 +0100 [thread overview]
Message-ID: <4B27C7B1.9030609@siemens.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 515 bytes --]
Hi Gerd,
in commit 5b684b5a56e81f6f, you introduced an explicit check
to prevent adding SCSI controllers without attached disks
to the system. Is there any other method to introduce
disk-less controllers into the system? If not, I'd suggest
to remove the check (patch is attached) -- there are some
situations when you want empty SCSI controllers, for instance for
the libvirt hotplug/remove framework currently under development
(see http://article.gmane.org/gmane.comp.emulators.libvirt/19043)
Thanks, Wolfgang
[-- Attachment #2: allow_empty_scsi_controllers.patch --]
[-- Type: text/x-patch, Size: 2146 bytes --]
commit c827742224b9a3a0d9dad0ce36c7e59c1a796ec1
Author: Wolfgang Mauerer <wolfgang.mauerer@siemens.com>
Date: Tue Dec 15 18:06:19 2009 +0100
Revert "hotplug: fix "pci_add storage if=scsi""
This reverts commit 5b684b5a56e81f6f88234952fe8ed68010c36e19, and
also includes some manual adaptions. There are some cases
where addding an empty SCSI controller to a system makes
sense, so we should not prohibit this option.
Signed-off-by: Wolfgang Mauerer <wolfgang.mauerer@siemens.com>
diff --git a/hw/lsi53c895a.c b/hw/lsi53c895a.c
index 8b8a80b..eee206b 100644
--- a/hw/lsi53c895a.c
+++ b/hw/lsi53c895a.c
@@ -2103,9 +2103,7 @@ static int lsi_scsi_init(PCIDevice *dev)
lsi_soft_reset(s);
scsi_bus_new(&s->bus, &dev->qdev, 1, LSI_MAX_DEVS, lsi_command_complete);
- if (!dev->qdev.hotplugged) {
- scsi_bus_legacy_handle_cmdline(&s->bus);
- }
+ scsi_bus_legacy_handle_cmdline(&s->bus);
vmstate_register(-1, &vmstate_lsi_scsi, s);
return 0;
}
diff --git a/hw/pci-hotplug.c b/hw/pci-hotplug.c
index 6e42776..075be31 100644
--- a/hw/pci-hotplug.c
+++ b/hw/pci-hotplug.c
@@ -183,14 +183,10 @@ static PCIDevice *qemu_pci_hot_add_storage(Monitor *mon,
switch (type) {
case IF_SCSI:
- if (!dinfo) {
- monitor_printf(mon, "scsi requires a backing file/device.\n");
- return NULL;
- }
dev = pci_create(bus, devfn, "lsi53c895a");
if (qdev_init(&dev->qdev) < 0)
dev = NULL;
- if (dev) {
+ if (dev && dinfo) {
if (scsi_hot_add(&dev->qdev, dinfo, 0) != 0) {
qdev_unplug(&dev->qdev);
dev = NULL;
@@ -204,12 +200,15 @@ static PCIDevice *qemu_pci_hot_add_storage(Monitor *mon,
}
dev = pci_create(bus, devfn, "virtio-blk-pci");
qdev_prop_set_drive(&dev->qdev, "drive", dinfo);
- if (qdev_init(&dev->qdev) < 0)
- dev = NULL;
break;
default:
dev = NULL;
}
+ if (!dev)
+ return NULL;
+ if (dinfo && qdev_init(&dev->qdev) < 0)
+ return NULL;
+
return dev;
}
next reply other threads:[~2009-12-15 17:28 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-12-15 17:30 Wolfgang Mauerer [this message]
2009-12-16 11:54 ` [Qemu-devel] Re: [PATCH, RFC] Allow adding empty SCSI controllers Gerd Hoffmann
2009-12-16 14:34 ` Wolfgang Mauerer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4B27C7B1.9030609@siemens.com \
--to=wolfgang.mauerer@siemens.com \
--cc=kraxel@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).