qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] RFC v2: blockdev_add & friends, brief rationale, QMP do


From: Avi Kivity
Subject: Re: [Qemu-devel] RFC v2: blockdev_add & friends, brief rationale, QMP docs
Date: Wed, 16 Jun 2010 12:50:06 +0300
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.9) Gecko/20100430 Fedora/3.0.4-3.fc13 Thunderbird/3.0.4

On 06/15/2010 05:54 PM, Markus Armbruster wrote:
Avi Kivity<address@hidden>  writes:

On 06/15/2010 04:27 PM, Markus Armbruster wrote:
I'm only talking about the interface, not the implementation.
Internal design details shouldn't be exposed.

For the implementation, I imagine you can create an empty blockdev
during guest device creation and treat blockdev_add/blockdev_del as
media change/eject.

If blockdev_del only ejects media, then we need another command to get
rid of a blockdev.

No.  If you have a blockdev just to satisfy the guest device's need
for a blockdev pointer, you can delete it automatically when the last
reference goes.
That's not how netdev and chardev behave.

Ok.  To me duplicate argument lists suggest a lack of orthogonality, though.

How about

  blockdev_add id=...
  media_attach blockdev=..., media-parameters
  media_detach blockdev=...
  blockdev_del id=...

So blockdev_add/del define/remove a slot for the media, media_attach/detach connect it to media.

Unless you propose that blockdev_del merely ejects media if the blockdev
is being used by a device, but destroys the blockdev outright if not.
But that would be sick, wouldn't it?

Create a blockdev implicitly with guest device creation, and use
blockdev_add (or media_attach) to attach the media.

(but that creates a window where the guest device is visible but media
is not yet inserted?)
Think so, for hot plug.

Actually, the device model driver would reject an empty blockdev, unless
it's a device with removable media, such as a CD-ROM.

Having a device with fixed media go through a "no media yet" state
during initialization just complicates things.  Defining the media
*before* creating the device is much simpler.

That is true.  Maybe we should just ignore the duplication.

--
error compiling committee.c: too many arguments to function




reply via email to

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