Luiz Capitulino <lcapitul...@redhat.com> writes: > On Mon, 26 Apr 2010 19:44:19 +0200 > Markus Armbruster <arm...@redhat.com> wrote: > >> We don't want pci_add in QMP. Use device_add instead. >> >> This reverts commit 7a344f7ac7bb651d0556a933ed8060d3a9e5d949. >> >> Conflicts: >> >> hw/pci-hotplug.c >> sysemu.h >> >> Signed-off-by: Markus Armbruster <arm...@redhat.com> > > The patch looks ok and I'm assuming that device_add can do everything > pci_add does, right?
Not quite. pci_add comes in several flavors: * nic: Hot plug a PCI NIC. device_add is more general. * storage: Hot plug a PCI disk controller, and a drive connected to it. The controller is either virtio-blk-pci (if=virtio) or lsi53c895a (if=scsi). With the latter, the drive is optional. Use drive_add to hotplug additional SCSI drives. Except drive_add is not available in QMP. device_add is more general for controllers and the guest part of drives. I'm working on a more general alternative for the host part of drives. Why am I proposing to remove pci_add from QMP before its replacement is ready? I want it out sooner rather than later, because it isn't fully functional (errors and drive_add are missing), and we do not plan to complete the job. In other words, it's not really usable over QMP now, and it's not what we want for QMP anyway. Since we don't want it to be used over QMP, we should take it out, not leave it around as a trap for the uninitiated. Anyway, I'll respin with a more verbose commit message, and I'll throw in the buddy patch Revert "monitor: Convert do_pci_device_hot_remove() to QObject".