[libvirt] Re: [Qemu-devel] [PATCH 1/6] Allow multiple monitor devices (v2)

Anthony Liguori aliguori at us.ibm.com
Thu Apr 9 17:40:49 UTC 2009


Avi Kivity wrote:
> (qemu) notify vnc on
>
> ... time passes, we want to allow members of group x to log in
>
> (qemu) vnc_set_acl group:x
> OK
> (qemu)
> notification: vnc connect aliguori
> (qemu)
>
> with a single monitor, we can be sure that the connect happened the 
> vnc_set_acl.  If the notification arrives on a different session, we 
> have no way of knowing that.

Only because there isn't a time stamp associated with the completion of 
the other monitor command.  And you can globally replace timestamp with 
some sort of incrementing id that's associated with each notification 
and command completion.

You'll need this to support multiple monitors even with your model.  
IMHO, multiple monitors is a critical feature to support in the long term.

>> I expect that in the short term future, we'll have a non-human 
>> monitor mode that allows commands to be asynchronous.
>
> Then let's defer this until then?  'wait' is not useful for humans, 
> they won't be retyping 'wait' every time something happens.

But wait is useful for management apps today.  A wait-forever, which is 
already in the next series, is also useful for humans.  It may not be a 
perfect interface, but it's a step in the right direction.  We have time 
before the next release and I expect that we'll have a non-human mode 
before then.

>> What's the established practice?  Do you know of any protocol that is 
>> line based that does notifications like this?
>
> I guess most MUDs?

I've never used a MUD before, I think that qualifies as before my time :-)

>>
>> IMAP IDLE is pretty close to "wait-forever".
>
> IMAP IDLE can be terminated by the client, and so does not require 
> multiple sessions (though IMAP supports them).

Most modern clients use multiple sessions.  If you look at IMAP, it 
doesn't multiplex commands so multiple sessions are necessary to 
maintain usefulness while performing a long running task.

Anyway, I think terminating a wait is a perfectly reasonable requirement.

Regards,

Anthony Liguori




More information about the libvir-list mailing list