qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH for-1.5 v2 0/5] virtio: fix bus command line compatibility.
@ 2013-04-30 14:08 fred.konrad
  2013-04-30 14:08 ` [Qemu-devel] [PATCH for-1.5 v2 1/5] virtio-x-bus: force bus name to virtio-bus fred.konrad
                   ` (6 more replies)
  0 siblings, 7 replies; 10+ messages in thread
From: fred.konrad @ 2013-04-30 14:08 UTC (permalink / raw)
  To: aliguori, qemu-devel
  Cc: peter.maydell, Libaiqing, Michal Privoznik, mark.burton, agraf,
	amit.shah, cornelia.huck, pbonzini, afaerber, fred.konrad

From: KONRAD Frederic <fred.konrad@greensocs.com>

Cc: Libaiqing <libaiqing@huawei.com>
Cc: Michal Privoznik <mprivozn@redhat.com>

This fixes the bus name for virtio-serial-device and virtio-scsi-device.

The bus name for virtio-serial-device and virtio-scsi-device is not "id.0" as it
was the case before the refactoring.

This trigger the error:

qemu-system-xxx -device virtio-serial-pci,id=virtio-serial0
                -device virtserialport,bus=virtio-serial0.0

Bus 'virtio-serial0.0' is full
Bus 'virtio-serial0.0' not found

So this sets the name of those bus before the virtio-device's init.

KONRAD Frederic (5):
  virtio-x-bus: force bus name to virtio-bus.
  virtio: add virtio_device_set_child_bus_name.
  scsi: add bus_name parameter to scsi_bus_new.
  virtio-serial: fix command line compatibility.
  virtio-scsi: fix the command line compatibility.

 hw/char/virtio-serial-bus.c     |  3 ++-
 hw/s390x/s390-virtio-bus.c      | 28 +++++++++++++++++++++++++++-
 hw/s390x/virtio-ccw.c           | 28 +++++++++++++++++++++++++++-
 hw/scsi/esp-pci.c               |  2 +-
 hw/scsi/esp.c                   |  2 +-
 hw/scsi/lsi53c895a.c            |  2 +-
 hw/scsi/megasas.c               |  2 +-
 hw/scsi/scsi-bus.c              |  5 +++--
 hw/scsi/spapr_vscsi.c           |  2 +-
 hw/scsi/virtio-scsi.c           |  3 ++-
 hw/scsi/vmw_pvscsi.c            |  2 +-
 hw/usb/dev-storage.c            |  4 ++--
 hw/usb/dev-uas.c                |  2 +-
 hw/virtio/virtio-pci.c          | 29 ++++++++++++++++++++++++++++-
 hw/virtio/virtio.c              | 24 ++++++++++++++++++++++++
 include/hw/scsi/scsi.h          |  3 ++-
 include/hw/virtio/virtio-scsi.h |  1 -
 include/hw/virtio/virtio.h      |  4 ++++
 18 files changed, 128 insertions(+), 18 deletions(-)

-- 
1.8.1.4

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Qemu-devel] [PATCH for-1.5 v2 1/5] virtio-x-bus: force bus name to virtio-bus.
  2013-04-30 14:08 [Qemu-devel] [PATCH for-1.5 v2 0/5] virtio: fix bus command line compatibility fred.konrad
@ 2013-04-30 14:08 ` fred.konrad
  2013-04-30 14:08 ` [Qemu-devel] [PATCH for-1.5 v2 2/5] virtio: add virtio_device_set_child_bus_name fred.konrad
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 10+ messages in thread
From: fred.konrad @ 2013-04-30 14:08 UTC (permalink / raw)
  To: aliguori, qemu-devel
  Cc: peter.maydell, mark.burton, agraf, amit.shah, cornelia.huck,
	pbonzini, afaerber, fred.konrad

From: KONRAD Frederic <fred.konrad@greensocs.com>

When the proxy id is set, this bus takes the name "id.0" which is expected
to be the virtio-device's first bus.

So force this name to "virtio-bus" as it is an internal bus.

Signed-off-by: KONRAD Frederic <fred.konrad@greensocs.com>
---
 hw/s390x/s390-virtio-bus.c | 5 ++++-
 hw/s390x/virtio-ccw.c      | 4 +++-
 hw/virtio/virtio-pci.c     | 5 ++++-
 3 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/hw/s390x/s390-virtio-bus.c b/hw/s390x/s390-virtio-bus.c
index 2cff6b7..d52a547 100644
--- a/hw/s390x/s390-virtio-bus.c
+++ b/hw/s390x/s390-virtio-bus.c
@@ -669,7 +669,10 @@ static void virtio_s390_bus_new(VirtioBusState *bus, VirtIOS390Device *dev)
 {
     DeviceState *qdev = DEVICE(dev);
     BusState *qbus;
-    qbus_create_inplace((BusState *)bus, TYPE_VIRTIO_S390_BUS, qdev, NULL);
+    char virtio_bus_name[] = "virtio-bus";
+
+    qbus_create_inplace((BusState *)bus, TYPE_VIRTIO_S390_BUS, qdev,
+                        virtio_bus_name);
     qbus = BUS(bus);
     qbus->allow_hotplug = 1;
 }
diff --git a/hw/s390x/virtio-ccw.c b/hw/s390x/virtio-ccw.c
index c0f2646..ef99080 100644
--- a/hw/s390x/virtio-ccw.c
+++ b/hw/s390x/virtio-ccw.c
@@ -1062,8 +1062,10 @@ static void virtio_ccw_bus_new(VirtioBusState *bus, VirtioCcwDevice *dev)
 {
     DeviceState *qdev = DEVICE(dev);
     BusState *qbus;
+    char virtio_bus_name[] = "virtio-bus";
 
-    qbus_create_inplace((BusState *)bus, TYPE_VIRTIO_CCW_BUS, qdev, NULL);
+    qbus_create_inplace((BusState *)bus, TYPE_VIRTIO_CCW_BUS, qdev,
+                        virtio_bus_name);
     qbus = BUS(bus);
     qbus->allow_hotplug = 1;
 }
diff --git a/hw/virtio/virtio-pci.c b/hw/virtio/virtio-pci.c
index 41bb41e..070df44 100644
--- a/hw/virtio/virtio-pci.c
+++ b/hw/virtio/virtio-pci.c
@@ -1474,7 +1474,10 @@ static void virtio_pci_bus_new(VirtioBusState *bus, VirtIOPCIProxy *dev)
 {
     DeviceState *qdev = DEVICE(dev);
     BusState *qbus;
-    qbus_create_inplace((BusState *)bus, TYPE_VIRTIO_PCI_BUS, qdev, NULL);
+    char virtio_bus_name[] = "virtio-bus";
+
+    qbus_create_inplace((BusState *)bus, TYPE_VIRTIO_PCI_BUS, qdev,
+                        virtio_bus_name);
     qbus = BUS(bus);
     qbus->allow_hotplug = 1;
 }
-- 
1.8.1.4

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [Qemu-devel] [PATCH for-1.5 v2 2/5] virtio: add virtio_device_set_child_bus_name.
  2013-04-30 14:08 [Qemu-devel] [PATCH for-1.5 v2 0/5] virtio: fix bus command line compatibility fred.konrad
  2013-04-30 14:08 ` [Qemu-devel] [PATCH for-1.5 v2 1/5] virtio-x-bus: force bus name to virtio-bus fred.konrad
@ 2013-04-30 14:08 ` fred.konrad
  2013-04-30 14:08 ` [Qemu-devel] [PATCH for-1.5 v2 3/5] scsi: add bus_name parameter to scsi_bus_new fred.konrad
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 10+ messages in thread
From: fred.konrad @ 2013-04-30 14:08 UTC (permalink / raw)
  To: aliguori, qemu-devel
  Cc: peter.maydell, mark.burton, agraf, amit.shah, cornelia.huck,
	pbonzini, afaerber, fred.konrad

From: KONRAD Frederic <fred.konrad@greensocs.com>

Add virtio_device_set_child_bus_name function.

It will be used with virtio-serial-x and virtio-scsi-x to set the
child bus name before calling virtio-x-device's init.

Signed-off-by: KONRAD Frederic <fred.konrad@greensocs.com>
---
 hw/virtio/virtio.c         | 24 ++++++++++++++++++++++++
 include/hw/virtio/virtio.h |  4 ++++
 2 files changed, 28 insertions(+)

diff --git a/hw/virtio/virtio.c b/hw/virtio/virtio.c
index 0f88c25..53a0d90 100644
--- a/hw/virtio/virtio.c
+++ b/hw/virtio/virtio.c
@@ -1087,6 +1087,18 @@ EventNotifier *virtio_queue_get_host_notifier(VirtQueue *vq)
     return &vq->host_notifier;
 }
 
+void virtio_device_set_child_bus_name(VirtIODevice *vdev, char *bus_name)
+{
+    if (vdev->bus_name) {
+        g_free(vdev->bus_name);
+        vdev->bus_name = NULL;
+    }
+
+    if (bus_name) {
+        vdev->bus_name = g_strdup(bus_name);
+    }
+}
+
 static int virtio_device_init(DeviceState *qdev)
 {
     VirtIODevice *vdev = VIRTIO_DEVICE(qdev);
@@ -1099,11 +1111,23 @@ static int virtio_device_init(DeviceState *qdev)
     return 0;
 }
 
+static int virtio_device_exit(DeviceState *qdev)
+{
+    VirtIODevice *vdev = VIRTIO_DEVICE(qdev);
+
+    if (vdev->bus_name) {
+        g_free(vdev->bus_name);
+        vdev->bus_name = NULL;
+    }
+    return 0;
+}
+
 static void virtio_device_class_init(ObjectClass *klass, void *data)
 {
     /* Set the default value here. */
     DeviceClass *dc = DEVICE_CLASS(klass);
     dc->init = virtio_device_init;
+    dc->exit = virtio_device_exit;
     dc->bus_type = TYPE_VIRTIO_BUS;
 }
 
diff --git a/include/hw/virtio/virtio.h b/include/hw/virtio/virtio.h
index ae7a4c4..a6c5c53 100644
--- a/include/hw/virtio/virtio.h
+++ b/include/hw/virtio/virtio.h
@@ -118,6 +118,7 @@ struct VirtIODevice
     uint16_t device_id;
     bool vm_running;
     VMChangeStateEntry *vmstate;
+    char *bus_name;
 };
 
 typedef struct VirtioDeviceClass {
@@ -149,6 +150,9 @@ void virtio_init(VirtIODevice *vdev, const char *name,
                          uint16_t device_id, size_t config_size);
 void virtio_cleanup(VirtIODevice *vdev);
 
+/* Set the child bus name. */
+void virtio_device_set_child_bus_name(VirtIODevice *vdev, char *bus_name);
+
 VirtQueue *virtio_add_queue(VirtIODevice *vdev, int queue_size,
                             void (*handle_output)(VirtIODevice *,
                                                   VirtQueue *));
-- 
1.8.1.4

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [Qemu-devel] [PATCH for-1.5 v2 3/5] scsi: add bus_name parameter to scsi_bus_new.
  2013-04-30 14:08 [Qemu-devel] [PATCH for-1.5 v2 0/5] virtio: fix bus command line compatibility fred.konrad
  2013-04-30 14:08 ` [Qemu-devel] [PATCH for-1.5 v2 1/5] virtio-x-bus: force bus name to virtio-bus fred.konrad
  2013-04-30 14:08 ` [Qemu-devel] [PATCH for-1.5 v2 2/5] virtio: add virtio_device_set_child_bus_name fred.konrad
@ 2013-04-30 14:08 ` fred.konrad
  2013-04-30 14:13   ` Paolo Bonzini
  2013-04-30 14:08 ` [Qemu-devel] [PATCH for-1.5 v2 4/5] virtio-serial: fix command line compatibility fred.konrad
                   ` (3 subsequent siblings)
  6 siblings, 1 reply; 10+ messages in thread
From: fred.konrad @ 2013-04-30 14:08 UTC (permalink / raw)
  To: aliguori, qemu-devel
  Cc: peter.maydell, mark.burton, agraf, amit.shah, cornelia.huck,
	pbonzini, afaerber, fred.konrad

From: KONRAD Frederic <fred.konrad@greensocs.com>

This adds the possibility to create a scsi-bus with a specified name.

Signed-off-by: KONRAD Frederic <fred.konrad@greensocs.com>
---
 hw/scsi/esp-pci.c      | 2 +-
 hw/scsi/esp.c          | 2 +-
 hw/scsi/lsi53c895a.c   | 2 +-
 hw/scsi/megasas.c      | 2 +-
 hw/scsi/scsi-bus.c     | 5 +++--
 hw/scsi/spapr_vscsi.c  | 2 +-
 hw/scsi/virtio-scsi.c  | 2 +-
 hw/scsi/vmw_pvscsi.c   | 2 +-
 hw/usb/dev-storage.c   | 4 ++--
 hw/usb/dev-uas.c       | 2 +-
 include/hw/scsi/scsi.h | 3 ++-
 11 files changed, 15 insertions(+), 13 deletions(-)

diff --git a/hw/scsi/esp-pci.c b/hw/scsi/esp-pci.c
index 3ca5c8c..029789a 100644
--- a/hw/scsi/esp-pci.c
+++ b/hw/scsi/esp-pci.c
@@ -354,7 +354,7 @@ static int esp_pci_scsi_init(PCIDevice *dev)
     pci_register_bar(&pci->dev, 0, PCI_BASE_ADDRESS_SPACE_IO, &pci->io);
     s->irq = pci->dev.irq[0];
 
-    scsi_bus_new(&s->bus, &dev->qdev, &esp_pci_scsi_info);
+    scsi_bus_new(&s->bus, &dev->qdev, &esp_pci_scsi_info, NULL);
     if (!dev->qdev.hotplugged) {
         return scsi_bus_legacy_handle_cmdline(&s->bus);
     }
diff --git a/hw/scsi/esp.c b/hw/scsi/esp.c
index 17adbec..0c81a50 100644
--- a/hw/scsi/esp.c
+++ b/hw/scsi/esp.c
@@ -681,7 +681,7 @@ static int sysbus_esp_init(SysBusDevice *dev)
 
     qdev_init_gpio_in(&dev->qdev, sysbus_esp_gpio_demux, 2);
 
-    scsi_bus_new(&s->bus, &dev->qdev, &esp_scsi_info);
+    scsi_bus_new(&s->bus, &dev->qdev, &esp_scsi_info, NULL);
     return scsi_bus_legacy_handle_cmdline(&s->bus);
 }
 
diff --git a/hw/scsi/lsi53c895a.c b/hw/scsi/lsi53c895a.c
index c601b29..22b8e98 100644
--- a/hw/scsi/lsi53c895a.c
+++ b/hw/scsi/lsi53c895a.c
@@ -2099,7 +2099,7 @@ static int lsi_scsi_init(PCIDevice *dev)
     pci_register_bar(&s->dev, 2, PCI_BASE_ADDRESS_SPACE_MEMORY, &s->ram_io);
     QTAILQ_INIT(&s->queue);
 
-    scsi_bus_new(&s->bus, &dev->qdev, &lsi_scsi_info);
+    scsi_bus_new(&s->bus, &dev->qdev, &lsi_scsi_info, NULL);
     if (!dev->qdev.hotplugged) {
         return scsi_bus_legacy_handle_cmdline(&s->bus);
     }
diff --git a/hw/scsi/megasas.c b/hw/scsi/megasas.c
index 14b0552..4934a81 100644
--- a/hw/scsi/megasas.c
+++ b/hw/scsi/megasas.c
@@ -2159,7 +2159,7 @@ static int megasas_scsi_init(PCIDevice *dev)
         s->frames[i].state = s;
     }
 
-    scsi_bus_new(&s->bus, &dev->qdev, &megasas_scsi_info);
+    scsi_bus_new(&s->bus, &dev->qdev, &megasas_scsi_info, NULL);
     scsi_bus_legacy_handle_cmdline(&s->bus);
     return 0;
 }
diff --git a/hw/scsi/scsi-bus.c b/hw/scsi/scsi-bus.c
index 6239ee1..53ea906 100644
--- a/hw/scsi/scsi-bus.c
+++ b/hw/scsi/scsi-bus.c
@@ -72,9 +72,10 @@ static void scsi_device_unit_attention_reported(SCSIDevice *s)
 }
 
 /* Create a scsi bus, and attach devices to it.  */
-void scsi_bus_new(SCSIBus *bus, DeviceState *host, const SCSIBusInfo *info)
+void scsi_bus_new(SCSIBus *bus, DeviceState *host, const SCSIBusInfo *info,
+                  const char *bus_name)
 {
-    qbus_create_inplace(&bus->qbus, TYPE_SCSI_BUS, host, NULL);
+    qbus_create_inplace(&bus->qbus, TYPE_SCSI_BUS, host, bus_name);
     bus->busnr = next_scsi_bus++;
     bus->info = info;
     bus->qbus.allow_hotplug = 1;
diff --git a/hw/scsi/spapr_vscsi.c b/hw/scsi/spapr_vscsi.c
index 3d322d5..e8978bf 100644
--- a/hw/scsi/spapr_vscsi.c
+++ b/hw/scsi/spapr_vscsi.c
@@ -915,7 +915,7 @@ static int spapr_vscsi_init(VIOsPAPRDevice *dev)
 
     dev->crq.SendFunc = vscsi_do_crq;
 
-    scsi_bus_new(&s->bus, &dev->qdev, &vscsi_scsi_info);
+    scsi_bus_new(&s->bus, &dev->qdev, &vscsi_scsi_info, NULL);
     if (!dev->qdev.hotplugged) {
         scsi_bus_legacy_handle_cmdline(&s->bus);
     }
diff --git a/hw/scsi/virtio-scsi.c b/hw/scsi/virtio-scsi.c
index 84b3ac7..f7ce743 100644
--- a/hw/scsi/virtio-scsi.c
+++ b/hw/scsi/virtio-scsi.c
@@ -624,7 +624,7 @@ static int virtio_scsi_device_init(VirtIODevice *vdev)
         return ret;
     }
 
-    scsi_bus_new(&s->bus, qdev, &virtio_scsi_scsi_info);
+    scsi_bus_new(&s->bus, qdev, &virtio_scsi_scsi_info, NULL);
     if (!qdev->hotplugged) {
         scsi_bus_legacy_handle_cmdline(&s->bus);
     }
diff --git a/hw/scsi/vmw_pvscsi.c b/hw/scsi/vmw_pvscsi.c
index 4b4a58f..48d12f4 100644
--- a/hw/scsi/vmw_pvscsi.c
+++ b/hw/scsi/vmw_pvscsi.c
@@ -1088,7 +1088,7 @@ pvscsi_init(PCIDevice *pci_dev)
         return -ENOMEM;
     }
 
-    scsi_bus_new(&s->bus, &pci_dev->qdev, &pvscsi_scsi_info);
+    scsi_bus_new(&s->bus, &pci_dev->qdev, &pvscsi_scsi_info, NULL);
     pvscsi_reset_state(s);
 
     return 0;
diff --git a/hw/usb/dev-storage.c b/hw/usb/dev-storage.c
index 06f0171..1073901 100644
--- a/hw/usb/dev-storage.c
+++ b/hw/usb/dev-storage.c
@@ -623,7 +623,7 @@ static int usb_msd_initfn_storage(USBDevice *dev)
     }
 
     usb_desc_init(dev);
-    scsi_bus_new(&s->bus, &s->dev.qdev, &usb_msd_scsi_info_storage);
+    scsi_bus_new(&s->bus, &s->dev.qdev, &usb_msd_scsi_info_storage, NULL);
     scsi_dev = scsi_bus_legacy_add_drive(&s->bus, bs, 0, !!s->removable,
                                             s->conf.bootindex, s->serial);
     if (!scsi_dev) {
@@ -650,7 +650,7 @@ static int usb_msd_initfn_bot(USBDevice *dev)
 
     usb_desc_create_serial(dev);
     usb_desc_init(dev);
-    scsi_bus_new(&s->bus, &s->dev.qdev, &usb_msd_scsi_info_bot);
+    scsi_bus_new(&s->bus, &s->dev.qdev, &usb_msd_scsi_info_bot, NULL);
     s->bus.qbus.allow_hotplug = 0;
     usb_msd_handle_reset(dev);
 
diff --git a/hw/usb/dev-uas.c b/hw/usb/dev-uas.c
index c8c42ee..6efab62 100644
--- a/hw/usb/dev-uas.c
+++ b/hw/usb/dev-uas.c
@@ -888,7 +888,7 @@ static int usb_uas_init(USBDevice *dev)
     QTAILQ_INIT(&uas->requests);
     uas->status_bh = qemu_bh_new(usb_uas_send_status_bh, uas);
 
-    scsi_bus_new(&uas->bus, &uas->dev.qdev, &usb_uas_scsi_info);
+    scsi_bus_new(&uas->bus, &uas->dev.qdev, &usb_uas_scsi_info, NULL);
 
     return 0;
 }
diff --git a/include/hw/scsi/scsi.h b/include/hw/scsi/scsi.h
index 3bda1c4..9786e00 100644
--- a/include/hw/scsi/scsi.h
+++ b/include/hw/scsi/scsi.h
@@ -152,7 +152,8 @@ struct SCSIBus {
     const SCSIBusInfo *info;
 };
 
-void scsi_bus_new(SCSIBus *bus, DeviceState *host, const SCSIBusInfo *info);
+void scsi_bus_new(SCSIBus *bus, DeviceState *host, const SCSIBusInfo *info,
+                  const char *bus_name);
 
 static inline SCSIBus *scsi_bus_from_device(SCSIDevice *d)
 {
-- 
1.8.1.4

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [Qemu-devel] [PATCH for-1.5 v2 4/5] virtio-serial: fix command line compatibility.
  2013-04-30 14:08 [Qemu-devel] [PATCH for-1.5 v2 0/5] virtio: fix bus command line compatibility fred.konrad
                   ` (2 preceding siblings ...)
  2013-04-30 14:08 ` [Qemu-devel] [PATCH for-1.5 v2 3/5] scsi: add bus_name parameter to scsi_bus_new fred.konrad
@ 2013-04-30 14:08 ` fred.konrad
  2013-04-30 14:08 ` [Qemu-devel] [PATCH for-1.5 v2 5/5] virtio-scsi: fix the " fred.konrad
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 10+ messages in thread
From: fred.konrad @ 2013-04-30 14:08 UTC (permalink / raw)
  To: aliguori, qemu-devel
  Cc: peter.maydell, mark.burton, agraf, amit.shah, cornelia.huck,
	pbonzini, afaerber, fred.konrad

From: KONRAD Frederic <fred.konrad@greensocs.com>

The bus name is wrong since the refactoring.

This keeps the behaviour of the command line.

Signed-off-by: KONRAD Frederic <fred.konrad@greensocs.com>
---
 hw/char/virtio-serial-bus.c |  3 ++-
 hw/s390x/s390-virtio-bus.c  | 11 +++++++++++
 hw/s390x/virtio-ccw.c       | 12 ++++++++++++
 hw/virtio/virtio-pci.c      | 12 ++++++++++++
 4 files changed, 37 insertions(+), 1 deletion(-)

diff --git a/hw/char/virtio-serial-bus.c b/hw/char/virtio-serial-bus.c
index 3787ad2..cc3d1dd 100644
--- a/hw/char/virtio-serial-bus.c
+++ b/hw/char/virtio-serial-bus.c
@@ -911,7 +911,8 @@ static int virtio_serial_device_init(VirtIODevice *vdev)
                 sizeof(struct virtio_console_config));
 
     /* Spawn a new virtio-serial bus on which the ports will ride as devices */
-    qbus_create_inplace(&vser->bus.qbus, TYPE_VIRTIO_SERIAL_BUS, qdev, NULL);
+    qbus_create_inplace(&vser->bus.qbus, TYPE_VIRTIO_SERIAL_BUS, qdev,
+                        vdev->bus_name);
     vser->bus.qbus.allow_hotplug = 1;
     vser->bus.vser = vser;
     QTAILQ_INIT(&vser->ports);
diff --git a/hw/s390x/s390-virtio-bus.c b/hw/s390x/s390-virtio-bus.c
index d52a547..83faf97 100644
--- a/hw/s390x/s390-virtio-bus.c
+++ b/hw/s390x/s390-virtio-bus.c
@@ -197,9 +197,20 @@ static int s390_virtio_serial_init(VirtIOS390Device *s390_dev)
     DeviceState *qdev = DEVICE(s390_dev);
     VirtIOS390Bus *bus;
     int r;
+    char *bus_name;
 
     bus = DO_UPCAST(VirtIOS390Bus, bus, qdev->parent_bus);
 
+    /*
+     * For command line compatibility, this sets the virtio-serial-device bus
+     * name as before.
+     */
+    if (qdev->id) {
+        bus_name = g_strdup_printf("%s.0", qdev->id);
+        virtio_device_set_child_bus_name(VIRTIO_DEVICE(vdev), bus_name);
+        g_free(bus_name);
+    }
+
     qdev_set_parent_bus(vdev, BUS(&s390_dev->bus));
     if (qdev_init(vdev) < 0) {
         return -1;
diff --git a/hw/s390x/virtio-ccw.c b/hw/s390x/virtio-ccw.c
index ef99080..4ebefd8 100644
--- a/hw/s390x/virtio-ccw.c
+++ b/hw/s390x/virtio-ccw.c
@@ -593,6 +593,18 @@ static int virtio_ccw_serial_init(VirtioCcwDevice *ccw_dev)
 {
     VirtioSerialCcw *dev = VIRTIO_SERIAL_CCW(ccw_dev);
     DeviceState *vdev = DEVICE(&dev->vdev);
+    DeviceState *proxy = DEVICE(ccw_dev);
+    char *bus_name;
+
+    /*
+     * For command line compatibility, this sets the virtio-serial-device bus
+     * name as before.
+     */
+    if (proxy->id) {
+        bus_name = g_strdup_printf("%s.0", proxy->id);
+        virtio_device_set_child_bus_name(VIRTIO_DEVICE(vdev), bus_name);
+        g_free(bus_name);
+    }
 
     qdev_set_parent_bus(vdev, BUS(&ccw_dev->bus));
     if (qdev_init(vdev) < 0) {
diff --git a/hw/virtio/virtio-pci.c b/hw/virtio/virtio-pci.c
index 070df44..abd2a3e 100644
--- a/hw/virtio/virtio-pci.c
+++ b/hw/virtio/virtio-pci.c
@@ -1297,6 +1297,8 @@ static int virtio_serial_pci_init(VirtIOPCIProxy *vpci_dev)
 {
     VirtIOSerialPCI *dev = VIRTIO_SERIAL_PCI(vpci_dev);
     DeviceState *vdev = DEVICE(&dev->vdev);
+    DeviceState *proxy = DEVICE(vpci_dev);
+    char *bus_name;
 
     if (vpci_dev->class_code != PCI_CLASS_COMMUNICATION_OTHER &&
         vpci_dev->class_code != PCI_CLASS_DISPLAY_OTHER && /* qemu 0.10 */
@@ -1310,6 +1312,16 @@ static int virtio_serial_pci_init(VirtIOPCIProxy *vpci_dev)
         vpci_dev->nvectors = dev->vdev.serial.max_virtserial_ports + 1;
     }
 
+    /*
+     * For command line compatibility, this sets the virtio-serial-device bus
+     * name as before.
+     */
+    if (proxy->id) {
+        bus_name = g_strdup_printf("%s.0", proxy->id);
+        virtio_device_set_child_bus_name(VIRTIO_DEVICE(vdev), bus_name);
+        g_free(bus_name);
+    }
+
     qdev_set_parent_bus(vdev, BUS(&vpci_dev->bus));
     if (qdev_init(vdev) < 0) {
         return -1;
-- 
1.8.1.4

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [Qemu-devel] [PATCH for-1.5 v2 5/5] virtio-scsi: fix the command line compatibility.
  2013-04-30 14:08 [Qemu-devel] [PATCH for-1.5 v2 0/5] virtio: fix bus command line compatibility fred.konrad
                   ` (3 preceding siblings ...)
  2013-04-30 14:08 ` [Qemu-devel] [PATCH for-1.5 v2 4/5] virtio-serial: fix command line compatibility fred.konrad
@ 2013-04-30 14:08 ` fred.konrad
  2013-05-02 13:40 ` [Qemu-devel] [PATCH for-1.5 v2 0/5] virtio: fix bus " Cornelia Huck
  2013-05-03 18:59 ` Anthony Liguori
  6 siblings, 0 replies; 10+ messages in thread
From: fred.konrad @ 2013-04-30 14:08 UTC (permalink / raw)
  To: aliguori, qemu-devel
  Cc: peter.maydell, mark.burton, agraf, amit.shah, cornelia.huck,
	pbonzini, afaerber, fred.konrad

From: KONRAD Frederic <fred.konrad@greensocs.com>

The bus name is wrong since the refactoring.

This keeps the behaviour of the command line.

Signed-off-by: KONRAD Frederic <fred.konrad@greensocs.com>
---
 hw/s390x/s390-virtio-bus.c      | 12 ++++++++++++
 hw/s390x/virtio-ccw.c           | 12 ++++++++++++
 hw/scsi/virtio-scsi.c           |  3 ++-
 hw/virtio/virtio-pci.c          | 12 ++++++++++++
 include/hw/virtio/virtio-scsi.h |  1 -
 5 files changed, 38 insertions(+), 2 deletions(-)

diff --git a/hw/s390x/s390-virtio-bus.c b/hw/s390x/s390-virtio-bus.c
index 83faf97..5a3d97c 100644
--- a/hw/s390x/s390-virtio-bus.c
+++ b/hw/s390x/s390-virtio-bus.c
@@ -235,6 +235,18 @@ static int s390_virtio_scsi_init(VirtIOS390Device *s390_dev)
 {
     VirtIOSCSIS390 *dev = VIRTIO_SCSI_S390(s390_dev);
     DeviceState *vdev = DEVICE(&dev->vdev);
+    DeviceState *qdev = DEVICE(s390_dev);
+    char *bus_name;
+
+    /*
+     * For command line compatibility, this sets the virtio-scsi-device bus
+     * name as before.
+     */
+    if (qdev->id) {
+        bus_name = g_strdup_printf("%s.0", qdev->id);
+        virtio_device_set_child_bus_name(VIRTIO_DEVICE(vdev), bus_name);
+        g_free(bus_name);
+    }
 
     qdev_set_parent_bus(vdev, BUS(&s390_dev->bus));
     if (qdev_init(vdev) < 0) {
diff --git a/hw/s390x/virtio-ccw.c b/hw/s390x/virtio-ccw.c
index 4ebefd8..76e6d32 100644
--- a/hw/s390x/virtio-ccw.c
+++ b/hw/s390x/virtio-ccw.c
@@ -680,6 +680,18 @@ static int virtio_ccw_scsi_init(VirtioCcwDevice *ccw_dev)
 {
     VirtIOSCSICcw *dev = VIRTIO_SCSI_CCW(ccw_dev);
     DeviceState *vdev = DEVICE(&dev->vdev);
+    DeviceState *qdev = DEVICE(ccw_dev);
+    char *bus_name;
+
+    /*
+     * For command line compatibility, this sets the virtio-scsi-device bus
+     * name as before.
+     */
+    if (qdev->id) {
+        bus_name = g_strdup_printf("%s.0", qdev->id);
+        virtio_device_set_child_bus_name(VIRTIO_DEVICE(vdev), bus_name);
+        g_free(bus_name);
+    }
 
     qdev_set_parent_bus(vdev, BUS(&ccw_dev->bus));
     if (qdev_init(vdev) < 0) {
diff --git a/hw/scsi/virtio-scsi.c b/hw/scsi/virtio-scsi.c
index f7ce743..08dd3f3 100644
--- a/hw/scsi/virtio-scsi.c
+++ b/hw/scsi/virtio-scsi.c
@@ -624,7 +624,8 @@ static int virtio_scsi_device_init(VirtIODevice *vdev)
         return ret;
     }
 
-    scsi_bus_new(&s->bus, qdev, &virtio_scsi_scsi_info, NULL);
+    scsi_bus_new(&s->bus, qdev, &virtio_scsi_scsi_info, vdev->bus_name);
+
     if (!qdev->hotplugged) {
         scsi_bus_legacy_handle_cmdline(&s->bus);
     }
diff --git a/hw/virtio/virtio-pci.c b/hw/virtio/virtio-pci.c
index abd2a3e..ec0066b 100644
--- a/hw/virtio/virtio-pci.c
+++ b/hw/virtio/virtio-pci.c
@@ -1106,11 +1106,23 @@ static int virtio_scsi_pci_init_pci(VirtIOPCIProxy *vpci_dev)
     VirtIOSCSIPCI *dev = VIRTIO_SCSI_PCI(vpci_dev);
     DeviceState *vdev = DEVICE(&dev->vdev);
     VirtIOSCSICommon *vs = VIRTIO_SCSI_COMMON(vdev);
+    DeviceState *proxy = DEVICE(vpci_dev);
+    char *bus_name;
 
     if (vpci_dev->nvectors == DEV_NVECTORS_UNSPECIFIED) {
         vpci_dev->nvectors = vs->conf.num_queues + 3;
     }
 
+    /*
+     * For command line compatibility, this sets the virtio-scsi-device bus
+     * name as before.
+     */
+    if (proxy->id) {
+        bus_name = g_strdup_printf("%s.0", proxy->id);
+        virtio_device_set_child_bus_name(VIRTIO_DEVICE(vdev), bus_name);
+        g_free(bus_name);
+    }
+
     qdev_set_parent_bus(vdev, BUS(&vpci_dev->bus));
     if (qdev_init(vdev) < 0) {
         return -1;
diff --git a/include/hw/virtio/virtio-scsi.h b/include/hw/virtio/virtio-scsi.h
index 4db346b..9a98540 100644
--- a/include/hw/virtio/virtio-scsi.h
+++ b/include/hw/virtio/virtio-scsi.h
@@ -189,5 +189,4 @@ typedef struct {
 int virtio_scsi_common_init(VirtIOSCSICommon *vs);
 int virtio_scsi_common_exit(VirtIOSCSICommon *vs);
 
-
 #endif /* _QEMU_VIRTIO_SCSI_H */
-- 
1.8.1.4

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [Qemu-devel] [PATCH for-1.5 v2 3/5] scsi: add bus_name parameter to scsi_bus_new.
  2013-04-30 14:08 ` [Qemu-devel] [PATCH for-1.5 v2 3/5] scsi: add bus_name parameter to scsi_bus_new fred.konrad
@ 2013-04-30 14:13   ` Paolo Bonzini
  0 siblings, 0 replies; 10+ messages in thread
From: Paolo Bonzini @ 2013-04-30 14:13 UTC (permalink / raw)
  To: fred.konrad
  Cc: peter.maydell, aliguori, mark.burton, qemu-devel, agraf,
	amit.shah, cornelia.huck, afaerber

Il 30/04/2013 16:08, fred.konrad@greensocs.com ha scritto:
> From: KONRAD Frederic <fred.konrad@greensocs.com>
> 
> This adds the possibility to create a scsi-bus with a specified name.
> 
> Signed-off-by: KONRAD Frederic <fred.konrad@greensocs.com>
> ---
>  hw/scsi/esp-pci.c      | 2 +-
>  hw/scsi/esp.c          | 2 +-
>  hw/scsi/lsi53c895a.c   | 2 +-
>  hw/scsi/megasas.c      | 2 +-
>  hw/scsi/scsi-bus.c     | 5 +++--
>  hw/scsi/spapr_vscsi.c  | 2 +-
>  hw/scsi/virtio-scsi.c  | 2 +-
>  hw/scsi/vmw_pvscsi.c   | 2 +-
>  hw/usb/dev-storage.c   | 4 ++--
>  hw/usb/dev-uas.c       | 2 +-
>  include/hw/scsi/scsi.h | 3 ++-
>  11 files changed, 15 insertions(+), 13 deletions(-)
> 
> diff --git a/hw/scsi/esp-pci.c b/hw/scsi/esp-pci.c
> index 3ca5c8c..029789a 100644
> --- a/hw/scsi/esp-pci.c
> +++ b/hw/scsi/esp-pci.c
> @@ -354,7 +354,7 @@ static int esp_pci_scsi_init(PCIDevice *dev)
>      pci_register_bar(&pci->dev, 0, PCI_BASE_ADDRESS_SPACE_IO, &pci->io);
>      s->irq = pci->dev.irq[0];
>  
> -    scsi_bus_new(&s->bus, &dev->qdev, &esp_pci_scsi_info);
> +    scsi_bus_new(&s->bus, &dev->qdev, &esp_pci_scsi_info, NULL);
>      if (!dev->qdev.hotplugged) {
>          return scsi_bus_legacy_handle_cmdline(&s->bus);
>      }
> diff --git a/hw/scsi/esp.c b/hw/scsi/esp.c
> index 17adbec..0c81a50 100644
> --- a/hw/scsi/esp.c
> +++ b/hw/scsi/esp.c
> @@ -681,7 +681,7 @@ static int sysbus_esp_init(SysBusDevice *dev)
>  
>      qdev_init_gpio_in(&dev->qdev, sysbus_esp_gpio_demux, 2);
>  
> -    scsi_bus_new(&s->bus, &dev->qdev, &esp_scsi_info);
> +    scsi_bus_new(&s->bus, &dev->qdev, &esp_scsi_info, NULL);
>      return scsi_bus_legacy_handle_cmdline(&s->bus);
>  }
>  
> diff --git a/hw/scsi/lsi53c895a.c b/hw/scsi/lsi53c895a.c
> index c601b29..22b8e98 100644
> --- a/hw/scsi/lsi53c895a.c
> +++ b/hw/scsi/lsi53c895a.c
> @@ -2099,7 +2099,7 @@ static int lsi_scsi_init(PCIDevice *dev)
>      pci_register_bar(&s->dev, 2, PCI_BASE_ADDRESS_SPACE_MEMORY, &s->ram_io);
>      QTAILQ_INIT(&s->queue);
>  
> -    scsi_bus_new(&s->bus, &dev->qdev, &lsi_scsi_info);
> +    scsi_bus_new(&s->bus, &dev->qdev, &lsi_scsi_info, NULL);
>      if (!dev->qdev.hotplugged) {
>          return scsi_bus_legacy_handle_cmdline(&s->bus);
>      }
> diff --git a/hw/scsi/megasas.c b/hw/scsi/megasas.c
> index 14b0552..4934a81 100644
> --- a/hw/scsi/megasas.c
> +++ b/hw/scsi/megasas.c
> @@ -2159,7 +2159,7 @@ static int megasas_scsi_init(PCIDevice *dev)
>          s->frames[i].state = s;
>      }
>  
> -    scsi_bus_new(&s->bus, &dev->qdev, &megasas_scsi_info);
> +    scsi_bus_new(&s->bus, &dev->qdev, &megasas_scsi_info, NULL);
>      scsi_bus_legacy_handle_cmdline(&s->bus);
>      return 0;
>  }
> diff --git a/hw/scsi/scsi-bus.c b/hw/scsi/scsi-bus.c
> index 6239ee1..53ea906 100644
> --- a/hw/scsi/scsi-bus.c
> +++ b/hw/scsi/scsi-bus.c
> @@ -72,9 +72,10 @@ static void scsi_device_unit_attention_reported(SCSIDevice *s)
>  }
>  
>  /* Create a scsi bus, and attach devices to it.  */
> -void scsi_bus_new(SCSIBus *bus, DeviceState *host, const SCSIBusInfo *info)
> +void scsi_bus_new(SCSIBus *bus, DeviceState *host, const SCSIBusInfo *info,
> +                  const char *bus_name)
>  {
> -    qbus_create_inplace(&bus->qbus, TYPE_SCSI_BUS, host, NULL);
> +    qbus_create_inplace(&bus->qbus, TYPE_SCSI_BUS, host, bus_name);
>      bus->busnr = next_scsi_bus++;
>      bus->info = info;
>      bus->qbus.allow_hotplug = 1;
> diff --git a/hw/scsi/spapr_vscsi.c b/hw/scsi/spapr_vscsi.c
> index 3d322d5..e8978bf 100644
> --- a/hw/scsi/spapr_vscsi.c
> +++ b/hw/scsi/spapr_vscsi.c
> @@ -915,7 +915,7 @@ static int spapr_vscsi_init(VIOsPAPRDevice *dev)
>  
>      dev->crq.SendFunc = vscsi_do_crq;
>  
> -    scsi_bus_new(&s->bus, &dev->qdev, &vscsi_scsi_info);
> +    scsi_bus_new(&s->bus, &dev->qdev, &vscsi_scsi_info, NULL);
>      if (!dev->qdev.hotplugged) {
>          scsi_bus_legacy_handle_cmdline(&s->bus);
>      }
> diff --git a/hw/scsi/virtio-scsi.c b/hw/scsi/virtio-scsi.c
> index 84b3ac7..f7ce743 100644
> --- a/hw/scsi/virtio-scsi.c
> +++ b/hw/scsi/virtio-scsi.c
> @@ -624,7 +624,7 @@ static int virtio_scsi_device_init(VirtIODevice *vdev)
>          return ret;
>      }
>  
> -    scsi_bus_new(&s->bus, qdev, &virtio_scsi_scsi_info);
> +    scsi_bus_new(&s->bus, qdev, &virtio_scsi_scsi_info, NULL);
>      if (!qdev->hotplugged) {
>          scsi_bus_legacy_handle_cmdline(&s->bus);
>      }
> diff --git a/hw/scsi/vmw_pvscsi.c b/hw/scsi/vmw_pvscsi.c
> index 4b4a58f..48d12f4 100644
> --- a/hw/scsi/vmw_pvscsi.c
> +++ b/hw/scsi/vmw_pvscsi.c
> @@ -1088,7 +1088,7 @@ pvscsi_init(PCIDevice *pci_dev)
>          return -ENOMEM;
>      }
>  
> -    scsi_bus_new(&s->bus, &pci_dev->qdev, &pvscsi_scsi_info);
> +    scsi_bus_new(&s->bus, &pci_dev->qdev, &pvscsi_scsi_info, NULL);
>      pvscsi_reset_state(s);
>  
>      return 0;
> diff --git a/hw/usb/dev-storage.c b/hw/usb/dev-storage.c
> index 06f0171..1073901 100644
> --- a/hw/usb/dev-storage.c
> +++ b/hw/usb/dev-storage.c
> @@ -623,7 +623,7 @@ static int usb_msd_initfn_storage(USBDevice *dev)
>      }
>  
>      usb_desc_init(dev);
> -    scsi_bus_new(&s->bus, &s->dev.qdev, &usb_msd_scsi_info_storage);
> +    scsi_bus_new(&s->bus, &s->dev.qdev, &usb_msd_scsi_info_storage, NULL);
>      scsi_dev = scsi_bus_legacy_add_drive(&s->bus, bs, 0, !!s->removable,
>                                              s->conf.bootindex, s->serial);
>      if (!scsi_dev) {
> @@ -650,7 +650,7 @@ static int usb_msd_initfn_bot(USBDevice *dev)
>  
>      usb_desc_create_serial(dev);
>      usb_desc_init(dev);
> -    scsi_bus_new(&s->bus, &s->dev.qdev, &usb_msd_scsi_info_bot);
> +    scsi_bus_new(&s->bus, &s->dev.qdev, &usb_msd_scsi_info_bot, NULL);
>      s->bus.qbus.allow_hotplug = 0;
>      usb_msd_handle_reset(dev);
>  
> diff --git a/hw/usb/dev-uas.c b/hw/usb/dev-uas.c
> index c8c42ee..6efab62 100644
> --- a/hw/usb/dev-uas.c
> +++ b/hw/usb/dev-uas.c
> @@ -888,7 +888,7 @@ static int usb_uas_init(USBDevice *dev)
>      QTAILQ_INIT(&uas->requests);
>      uas->status_bh = qemu_bh_new(usb_uas_send_status_bh, uas);
>  
> -    scsi_bus_new(&uas->bus, &uas->dev.qdev, &usb_uas_scsi_info);
> +    scsi_bus_new(&uas->bus, &uas->dev.qdev, &usb_uas_scsi_info, NULL);
>  
>      return 0;
>  }
> diff --git a/include/hw/scsi/scsi.h b/include/hw/scsi/scsi.h
> index 3bda1c4..9786e00 100644
> --- a/include/hw/scsi/scsi.h
> +++ b/include/hw/scsi/scsi.h
> @@ -152,7 +152,8 @@ struct SCSIBus {
>      const SCSIBusInfo *info;
>  };
>  
> -void scsi_bus_new(SCSIBus *bus, DeviceState *host, const SCSIBusInfo *info);
> +void scsi_bus_new(SCSIBus *bus, DeviceState *host, const SCSIBusInfo *info,
> +                  const char *bus_name);
>  
>  static inline SCSIBus *scsi_bus_from_device(SCSIDevice *d)
>  {
> 

Acked-by: Paolo Bonzini <pbonzini@redhat.com>

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Qemu-devel] [PATCH for-1.5 v2 0/5] virtio: fix bus command line compatibility.
  2013-04-30 14:08 [Qemu-devel] [PATCH for-1.5 v2 0/5] virtio: fix bus command line compatibility fred.konrad
                   ` (4 preceding siblings ...)
  2013-04-30 14:08 ` [Qemu-devel] [PATCH for-1.5 v2 5/5] virtio-scsi: fix the " fred.konrad
@ 2013-05-02 13:40 ` Cornelia Huck
  2013-05-02 14:05   ` KONRAD Frédéric
  2013-05-03 18:59 ` Anthony Liguori
  6 siblings, 1 reply; 10+ messages in thread
From: Cornelia Huck @ 2013-05-02 13:40 UTC (permalink / raw)
  To: fred.konrad
  Cc: peter.maydell, aliguori, Michal Privoznik, Libaiqing, mark.burton,
	qemu-devel, agraf, amit.shah, pbonzini, afaerber

On Tue, 30 Apr 2013 16:08:46 +0200
fred.konrad@greensocs.com wrote:

> From: KONRAD Frederic <fred.konrad@greensocs.com>
> 
> Cc: Libaiqing <libaiqing@huawei.com>
> Cc: Michal Privoznik <mprivozn@redhat.com>
> 
> This fixes the bus name for virtio-serial-device and virtio-scsi-device.
> 
> The bus name for virtio-serial-device and virtio-scsi-device is not "id.0" as it
> was the case before the refactoring.
> 
> This trigger the error:
> 
> qemu-system-xxx -device virtio-serial-pci,id=virtio-serial0
>                 -device virtserialport,bus=virtio-serial0.0
> 
> Bus 'virtio-serial0.0' is full
> Bus 'virtio-serial0.0' not found

Seems to look sane on s390-virtio and virtio-ccw.

Tested-by: Cornelia Huck <cornelia.huck@de.ibm.com>

> 
> So this sets the name of those bus before the virtio-device's init.
> 
> KONRAD Frederic (5):
>   virtio-x-bus: force bus name to virtio-bus.
>   virtio: add virtio_device_set_child_bus_name.
>   scsi: add bus_name parameter to scsi_bus_new.
>   virtio-serial: fix command line compatibility.
>   virtio-scsi: fix the command line compatibility.
> 
>  hw/char/virtio-serial-bus.c     |  3 ++-
>  hw/s390x/s390-virtio-bus.c      | 28 +++++++++++++++++++++++++++-
>  hw/s390x/virtio-ccw.c           | 28 +++++++++++++++++++++++++++-
>  hw/scsi/esp-pci.c               |  2 +-
>  hw/scsi/esp.c                   |  2 +-
>  hw/scsi/lsi53c895a.c            |  2 +-
>  hw/scsi/megasas.c               |  2 +-
>  hw/scsi/scsi-bus.c              |  5 +++--
>  hw/scsi/spapr_vscsi.c           |  2 +-
>  hw/scsi/virtio-scsi.c           |  3 ++-
>  hw/scsi/vmw_pvscsi.c            |  2 +-
>  hw/usb/dev-storage.c            |  4 ++--
>  hw/usb/dev-uas.c                |  2 +-
>  hw/virtio/virtio-pci.c          | 29 ++++++++++++++++++++++++++++-
>  hw/virtio/virtio.c              | 24 ++++++++++++++++++++++++
>  include/hw/scsi/scsi.h          |  3 ++-
>  include/hw/virtio/virtio-scsi.h |  1 -
>  include/hw/virtio/virtio.h      |  4 ++++
>  18 files changed, 128 insertions(+), 18 deletions(-)
> 

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Qemu-devel] [PATCH for-1.5 v2 0/5] virtio: fix bus command line compatibility.
  2013-05-02 13:40 ` [Qemu-devel] [PATCH for-1.5 v2 0/5] virtio: fix bus " Cornelia Huck
@ 2013-05-02 14:05   ` KONRAD Frédéric
  0 siblings, 0 replies; 10+ messages in thread
From: KONRAD Frédéric @ 2013-05-02 14:05 UTC (permalink / raw)
  To: Cornelia Huck
  Cc: peter.maydell, aliguori, Michal Privoznik, Libaiqing, mark.burton,
	qemu-devel, agraf, amit.shah, pbonzini, afaerber

On 02/05/2013 15:40, Cornelia Huck wrote:
> On Tue, 30 Apr 2013 16:08:46 +0200
> fred.konrad@greensocs.com wrote:
>
>> From: KONRAD Frederic <fred.konrad@greensocs.com>
>>
>> Cc: Libaiqing <libaiqing@huawei.com>
>> Cc: Michal Privoznik <mprivozn@redhat.com>
>>
>> This fixes the bus name for virtio-serial-device and virtio-scsi-device.
>>
>> The bus name for virtio-serial-device and virtio-scsi-device is not "id.0" as it
>> was the case before the refactoring.
>>
>> This trigger the error:
>>
>> qemu-system-xxx -device virtio-serial-pci,id=virtio-serial0
>>                  -device virtserialport,bus=virtio-serial0.0
>>
>> Bus 'virtio-serial0.0' is full
>> Bus 'virtio-serial0.0' not found
> Seems to look sane on s390-virtio and virtio-ccw.
>
> Tested-by: Cornelia Huck <cornelia.huck@de.ibm.com>

Thanks for that :).

Fred
>
>> So this sets the name of those bus before the virtio-device's init.
>>
>> KONRAD Frederic (5):
>>    virtio-x-bus: force bus name to virtio-bus.
>>    virtio: add virtio_device_set_child_bus_name.
>>    scsi: add bus_name parameter to scsi_bus_new.
>>    virtio-serial: fix command line compatibility.
>>    virtio-scsi: fix the command line compatibility.
>>
>>   hw/char/virtio-serial-bus.c     |  3 ++-
>>   hw/s390x/s390-virtio-bus.c      | 28 +++++++++++++++++++++++++++-
>>   hw/s390x/virtio-ccw.c           | 28 +++++++++++++++++++++++++++-
>>   hw/scsi/esp-pci.c               |  2 +-
>>   hw/scsi/esp.c                   |  2 +-
>>   hw/scsi/lsi53c895a.c            |  2 +-
>>   hw/scsi/megasas.c               |  2 +-
>>   hw/scsi/scsi-bus.c              |  5 +++--
>>   hw/scsi/spapr_vscsi.c           |  2 +-
>>   hw/scsi/virtio-scsi.c           |  3 ++-
>>   hw/scsi/vmw_pvscsi.c            |  2 +-
>>   hw/usb/dev-storage.c            |  4 ++--
>>   hw/usb/dev-uas.c                |  2 +-
>>   hw/virtio/virtio-pci.c          | 29 ++++++++++++++++++++++++++++-
>>   hw/virtio/virtio.c              | 24 ++++++++++++++++++++++++
>>   include/hw/scsi/scsi.h          |  3 ++-
>>   include/hw/virtio/virtio-scsi.h |  1 -
>>   include/hw/virtio/virtio.h      |  4 ++++
>>   18 files changed, 128 insertions(+), 18 deletions(-)
>>

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Qemu-devel] [PATCH for-1.5 v2 0/5] virtio: fix bus command line compatibility.
  2013-04-30 14:08 [Qemu-devel] [PATCH for-1.5 v2 0/5] virtio: fix bus command line compatibility fred.konrad
                   ` (5 preceding siblings ...)
  2013-05-02 13:40 ` [Qemu-devel] [PATCH for-1.5 v2 0/5] virtio: fix bus " Cornelia Huck
@ 2013-05-03 18:59 ` Anthony Liguori
  6 siblings, 0 replies; 10+ messages in thread
From: Anthony Liguori @ 2013-05-03 18:59 UTC (permalink / raw)
  To: fred.konrad, aliguori, qemu-devel
  Cc: peter.maydell, Libaiqing, Michal Privoznik, mark.burton, agraf,
	amit.shah, pbonzini, afaerber

Applied.  Thanks.

Regards,

Anthony Liguori

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2013-05-03 19:00 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-04-30 14:08 [Qemu-devel] [PATCH for-1.5 v2 0/5] virtio: fix bus command line compatibility fred.konrad
2013-04-30 14:08 ` [Qemu-devel] [PATCH for-1.5 v2 1/5] virtio-x-bus: force bus name to virtio-bus fred.konrad
2013-04-30 14:08 ` [Qemu-devel] [PATCH for-1.5 v2 2/5] virtio: add virtio_device_set_child_bus_name fred.konrad
2013-04-30 14:08 ` [Qemu-devel] [PATCH for-1.5 v2 3/5] scsi: add bus_name parameter to scsi_bus_new fred.konrad
2013-04-30 14:13   ` Paolo Bonzini
2013-04-30 14:08 ` [Qemu-devel] [PATCH for-1.5 v2 4/5] virtio-serial: fix command line compatibility fred.konrad
2013-04-30 14:08 ` [Qemu-devel] [PATCH for-1.5 v2 5/5] virtio-scsi: fix the " fred.konrad
2013-05-02 13:40 ` [Qemu-devel] [PATCH for-1.5 v2 0/5] virtio: fix bus " Cornelia Huck
2013-05-02 14:05   ` KONRAD Frédéric
2013-05-03 18:59 ` Anthony Liguori

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).