[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] drive_add vs. pci_add
From: |
Jan Kiszka |
Subject: |
Re: [Qemu-devel] drive_add vs. pci_add |
Date: |
Thu, 25 Jun 2009 23:09:44 +0200 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686 (x86_64); de; rv:1.8.1.12) Gecko/20080226 SUSE/2.0.0.12-1.1 Thunderbird/2.0.0.12 Mnenhy/0.7.5.666 |
Anthony Liguori wrote:
> Paul Brook wrote:
>> On Thursday 25 June 2009, Avi Kivity wrote:
>>
>>> On 06/25/2009 09:46 AM, Jan Kiszka wrote:
>>>
>>>> Hi,
>>>>
>>>> sorry, it's still early, but isn't the monitor command 'drive_add'
>>>> completely redundant to 'pci_add ... storage'? If yes, and drive_add is
>>>> only there for legacy users, I would mask its help from the monitor
>>>> interface to avoid confusion.
>>>>
>>> What we really want is pci_add storage to add a storage controller, and
>>> drive_add to attach a drive to that controller. I don't think that's
>>> what happens now.
>>>
>>
>> Part of the problem is that we don't currently isolate configs for
>> different pats of the device stack. There are several different layers
>> at which hotplug can occur:
>>
>> - Device - e.g. PCI hotplug. If done properly this shouldn't care
>> whether you're adding a NIC, VGA, SCSI HBA, or whatever.
>> - Drive - Adding/removing drives to an existing HBA.
>> - Media - e.g. changing the contents of a CDROM drive.
>>
>
> Also, we probably want to separate the definition of storage from the
> act of connecting the storage via hotplug.
What would be the benefit of be able to define detached storages?
> If I were going to add new
> monitor commands today, I may do something like:
>
> # Create a new BlockDriverState with a symbolic name of 'Foo'
> (qemu) storage_add Foo file=/path/to/image,snapshot=on
>
> # Create a new pci device with a symbolic name of 'Bar'
> (qemu) pci_create dev=virtio-blk,name=Bar
Support for creating pci devices and attaching storages offline would
surely be useful.
>
> # Connect the storage backend Foo to the storage frontend Bar
> (qemu) storage_connect Foo Bar
>
> # Attach PCI device via hotplug
> (qemu) pci_hotplug Bar addr=0.01.0
>
> Beyond pci_hotplug, you could also introduce pci_insert/remove
> commands. This could be used if starting a guest in the stopped state
> to insert a PCI card or in combination with -no-shutdown.
Shouldn't this be handled more generically one day by (re-)reading a
machine configuration (from a file or from a QMP session)?
Jan
signature.asc
Description: OpenPGP digital signature