qemu-devel
[Top][All Lists]
Advanced

[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



reply via email to

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