All of lore.kernel.org
 help / color / mirror / Atom feed
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;
 }
 

             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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.