qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Anthony Liguori <anthony@codemonkey.ws>
To: Luiz Capitulino <lcapitulino@redhat.com>
Cc: Kevin Wolf <kwolf@redhat.com>,
	pbonzini@redhat.com, eblake@redhat.com,
	Markus Armbruster <armbru@redhat.com>,
	qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 5/5] qmp: add DEVICE_TRAY_MOVED event
Date: Fri, 24 Feb 2012 10:44:11 -0600	[thread overview]
Message-ID: <4F47BE5B.6010602@codemonkey.ws> (raw)
In-Reply-To: <20120224143911.018b2073@doriath.home>

On 02/24/2012 10:39 AM, Luiz Capitulino wrote:
> On Fri, 24 Feb 2012 10:01:00 -0600
> Anthony Liguori<anthony@codemonkey.ws>  wrote:
>
>> On 02/23/2012 08:08 AM, Markus Armbruster wrote:
>>> Luiz Capitulino<lcapitulino@redhat.com>   writes:
>>>
>>>> On Thu, 23 Feb 2012 08:50:08 +0100
>>>> Markus Armbruster<armbru@redhat.com>   wrote:
>>>>
>>>>> Kevin Wolf<kwolf@redhat.com>   writes:
>>>>>
>>>>>> Am 17.02.2012 20:21, schrieb Luiz Capitulino:
>>>>>>> It's emitted whenever the tray is moved by the guest or by HMP/QMP
>>>>>>> commands.
>>>>>>>
>>>>>>> Signed-off-by: Luiz Capitulino<lcapitulino@redhat.com>
>>>>>>> ---
>>>>>>>    QMP/qmp-events.txt |   18 ++++++++++++++++++
>>>>>>>    block.c            |   24 ++++++++++++++++++++++++
>>>>>>>    monitor.c          |    3 +++
>>>>>>>    monitor.h          |    1 +
>>>>>>>    4 files changed, 46 insertions(+), 0 deletions(-)
>>>>>>>
>>>>>>> diff --git a/QMP/qmp-events.txt b/QMP/qmp-events.txt
>>>>>>> index 06cb404..9286af5 100644
>>>>>>> --- a/QMP/qmp-events.txt
>>>>>>> +++ b/QMP/qmp-events.txt
>>>>>>> @@ -26,6 +26,24 @@ Example:
>>>>>>>    Note: If action is "stop", a STOP event will eventually follow the
>>>>>>>    BLOCK_IO_ERROR event.
>>>>>>>
>>>>>>> +DEVICE_TRAY_MOVED
>>>>>>> +-----------------
>>>>>>> +
>>>>>>> +It's emitted whenever the tray of a removable device is moved by the guest
>>>>>>> +or by HMP/QMP commands.
>>>>>>> +
>>>>>>> +Data:
>>>>>>> +
>>>>>>> +- "device": device name (json-string)
>>>>>>
>>>>>> For me, a device name is something related to qdev. 'device' is a
>>>>>> misnomer consistently used in all QMP commands so far and we can't fix
>>>>>> it any more, but at least the documentation should clarify what is meant
>>>>>> (that's for a follow-up patch).
>>>>>
>>>>> We can fix it if we really want to: rename, then add the old name as
>>>>> alias for backward compatibility.  Pick your favourite flavor of cruft.
>>>>
>>>> I like it, new events won't have the cruft.
>>>
>>> If we reserve "device" for device models, we need sensible names for
>>> device backends.  One each for block, net and char.  There's some
>>> precedence for "blockdev", "netdev", "chardev", but they contain "dev",
>>> so there's still some overloading of the name "device".  Better ideas?
>>
>> For 1.2 (when QOM is considered stable), this should become pathname.  Given a
>> path, a client can determine what the type of the object is (by reading the type
>> property).
>>
>> In fact, I'd like to see all events have a pathname of origin.  This would
>> probably become part of the QMP protocol itself.
>>
>> This gives us a mechanism to subscribe to events from specific objects.
>
> This is 1.2 material, right?

Yes.

> I'm asking because the conversion of events to the qapi is not too far away,
> but I think that using QOM will somewhat deprecate the code you have in the
> glib branch (besides having to wait for 1.2)?

I have some vague ideas about what to do here.  One thought would be to have a 
standard notifier mechanism in Object that was advertised as a property type. 
We could then provide an interface via QMP to [un]subscribe to a notifier property.

I won't get to this until the 1.2 time frame though.  My goals for 1.1 are to 
get qbus conversions merged and refactor IRQs/MemoryRegions to use QOM.  If time 
permits, also refactor the PC to better use QOM.

If someone wants to tackle events in QOM, I'd be happy to provide some 
suggestions on where to start.

Regards,

Anthony Liguori

Regards,

Anthony Liguori

  reply	other threads:[~2012-02-24 16:44 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-02-17 19:21 [Qemu-devel] [PATCH v3 0/5]: QMP: add DEVICE_TRAY_MOVED event Luiz Capitulino
2012-02-17 19:21 ` [Qemu-devel] [PATCH 1/5] block: Rename bdrv_mon_event() & BlockMonEventAction Luiz Capitulino
2012-02-17 19:21 ` [Qemu-devel] [PATCH 2/5] block: bdrv_eject(): Make eject_flag a real bool Luiz Capitulino
2012-02-17 19:21 ` [Qemu-devel] [PATCH 3/5] block: Don't call bdrv_eject() if the tray state didn't change Luiz Capitulino
2012-02-20  8:16   ` Markus Armbruster
2012-02-17 19:21 ` [Qemu-devel] [PATCH 4/5] ide: drop ide_tray_state_post_load() Luiz Capitulino
2012-02-20  8:20   ` Markus Armbruster
2012-02-17 19:21 ` [Qemu-devel] [PATCH 5/5] qmp: add DEVICE_TRAY_MOVED event Luiz Capitulino
2012-02-20  8:27   ` Markus Armbruster
2012-02-22 13:23   ` Kevin Wolf
2012-02-23  7:50     ` Markus Armbruster
2012-02-23 12:17       ` Luiz Capitulino
2012-02-23 14:08         ` Markus Armbruster
2012-02-24 16:01           ` Anthony Liguori
2012-02-24 16:39             ` Luiz Capitulino
2012-02-24 16:44               ` Anthony Liguori [this message]
2012-02-24 16:56                 ` Luiz Capitulino
2012-02-24 17:19                   ` [Qemu-devel] New QMP event interface (was Re: [PATCH 5/5] qmp: add DEVICE_TRAY_MOVED event) Anthony Liguori
2012-02-20  8:28 ` [Qemu-devel] [PATCH v3 0/5]: QMP: add DEVICE_TRAY_MOVED event Markus Armbruster
2012-02-22 12:53   ` Luiz Capitulino
2012-02-22 13:23     ` Kevin Wolf
  -- strict thread matches above, loose matches on Subject: below --
2012-02-23 14:42 [Qemu-devel] [PULL 0/5]: QMP queue Luiz Capitulino
2012-02-23 14:42 ` [Qemu-devel] [PATCH 5/5] qmp: add DEVICE_TRAY_MOVED event Luiz Capitulino

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4F47BE5B.6010602@codemonkey.ws \
    --to=anthony@codemonkey.ws \
    --cc=armbru@redhat.com \
    --cc=eblake@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=lcapitulino@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).