[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC v3 18/27] qmp: add new event "request-dropped"
From: |
Peter Xu |
Subject: |
Re: [Qemu-devel] [RFC v3 18/27] qmp: add new event "request-dropped" |
Date: |
Thu, 16 Nov 2017 14:29:05 +0800 |
User-agent: |
Mutt/1.9.1 (2017-09-22) |
On Thu, Nov 16, 2017 at 01:56:54PM +0800, Peter Xu wrote:
> On Wed, Nov 15, 2017 at 10:50:15AM +0000, Stefan Hajnoczi wrote:
> > On Mon, Nov 06, 2017 at 05:46:34PM +0800, Peter Xu wrote:
> > > diff --git a/qapi-schema.json b/qapi-schema.json
> > > index 531fd4c0db..650714da06 100644
> > > --- a/qapi-schema.json
> > > +++ b/qapi-schema.json
> > > @@ -3222,3 +3222,38 @@
> > > # Since: 2.11
> > > ##
> > > { 'command': 'watchdog-set-action', 'data' : {'action':
> > > 'WatchdogAction'} }
> > > +
> > > +##
> > > +# @RequestDropReason:
> > > +#
> > > +# Reasons that caused one request to be dropped.
> >
> > Please use "command" consistently. QMP does not call it not "request".
>
> Sure.
>
> >
> > > +#
> > > +# @queue-full: the queue of request is full.
> > > +#
> > > +# Since: 2.12
> > > +##
> > > +{ 'enum': 'RequestDropReason',
> > > + 'data': ['queue-full' ] }
> > > +
> > > +##
> > > +# @REQUEST_DROPPED:
> > > +#
> > > +# Emitted when one QMP request is dropped due to some reason.
> >
> > Please add:
> >
> > REQUEST_DROPPED is only emitted when the oob capability is enabled.
> >
> > Rationale: old clients don't know about this event so they cannot be
> > expected to handle it!
>
> Added.
>
> >
> > > +#
> > > +# @id: If the original request contains an string-typed "id" field,
> > > +# it'll be put into this field. Otherwise it'll be an empty
> > > +# string.
> >
> > Please change:
> >
> > @id: The dropped command's string-typed "id" field.
>
> Ok.
I just found this one tricky: currently we allow all kinds of "id"
fields in QMP commands, which means that here I should allow all kinds
of "id" fields as well rather than restrict it as "string" typed.
But I don't really know how to do that in QMP, say, what I want is
something like:
{ 'event': 'REQUEST_DROPPED' ,
'data': { 'id': 'object', 'reason': 'RequestDropReason' } }
^^^^^^^^
Any thoughts on how to do that the simple way?
--
Peter Xu
- [Qemu-devel] [RFC v3 13/27] qmp: negociate QMP capabilities, (continued)
- [Qemu-devel] [RFC v3 13/27] qmp: negociate QMP capabilities, Peter Xu, 2017/11/06
- [Qemu-devel] [RFC v3 14/27] qmp: introduce some capability helpers, Peter Xu, 2017/11/06
- [Qemu-devel] [RFC v3 15/27] monitor: introduce monitor_qmp_respond(), Peter Xu, 2017/11/06
- [Qemu-devel] [RFC v3 16/27] monitor: let monitor_{suspend|resume} thread safe, Peter Xu, 2017/11/06
- [Qemu-devel] [RFC v3 17/27] monitor: separate QMP parser and dispatcher, Peter Xu, 2017/11/06
- [Qemu-devel] [RFC v3 18/27] qmp: add new event "request-dropped", Peter Xu, 2017/11/06
[Qemu-devel] [RFC v3 19/27] monitor: send event when request queue full, Peter Xu, 2017/11/06
[Qemu-devel] [RFC v3 20/27] qapi: introduce new cmd option "allow-oob", Peter Xu, 2017/11/06
[Qemu-devel] [RFC v3 21/27] qmp: support out-of-band (oob) execution, Peter Xu, 2017/11/06
[Qemu-devel] [RFC v3 22/27] qmp: let migrate-incoming allow out-of-band, Peter Xu, 2017/11/06
[Qemu-devel] [RFC v3 23/27] qmp: isolate responses into io thread, Peter Xu, 2017/11/06
[Qemu-devel] [RFC v3 24/27] monitor: enable IO thread for (qmp & !mux) typed, Peter Xu, 2017/11/06