qemu-devel
[Top][All Lists]
Advanced

[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

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]