qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH] vhost-vsock: report QMP event when set running


From: Markus Armbruster
Subject: Re: [Qemu-devel] [PATCH] vhost-vsock: report QMP event when set running
Date: Thu, 01 Aug 2019 17:25:04 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.2 (gnu/linux)

Ning Bo <address@hidden> writes:

> Report vsock running event so that the upper application can
> control boot sequence.
> see https://github.com/kata-containers/runtime/pull/1918

Please provide a more complete summary of the use case in the commit
message.  What exactly is the problem?  What is the proposed solution,
and how does it make use of the new event?

> Signed-off-by: Ning Bo <address@hidden>
> ---
>  hw/virtio/vhost-vsock.c |  3 +++
>  qapi/char.json          | 22 ++++++++++++++++++++++
>  2 files changed, 25 insertions(+)
>
> diff --git a/hw/virtio/vhost-vsock.c b/hw/virtio/vhost-vsock.c
> index 0371493..a5920fd 100644
> --- a/hw/virtio/vhost-vsock.c
> +++ b/hw/virtio/vhost-vsock.c
> @@ -22,6 +22,7 @@
>  #include "qemu/iov.h"
>  #include "qemu/module.h"
>  #include "monitor/monitor.h"
> +#include "qapi/qapi-events-char.h"
>  
>  enum {
>      VHOST_VSOCK_SAVEVM_VERSION = 0,
> @@ -68,6 +69,8 @@ static int vhost_vsock_set_running(VHostVSock *vsock, int 
> start)
>      if (ret < 0) {
>          return -errno;
>      }
> +    qapi_event_send_vsock_running(vsock->conf.guest_cid, start != 0);
> +
>      return 0;
>  }
>  
> diff --git a/qapi/char.json b/qapi/char.json
> index a6e81ac..7b746e3 100644
> --- a/qapi/char.json
> +++ b/qapi/char.json
> @@ -570,3 +570,25 @@
>  { 'event': 'VSERPORT_CHANGE',
>    'data': { 'id': 'str',
>              'open': 'bool' } }
> +
> +##
> +# @VSOCK_RUNNING:
> +#
> +# Emitted when the guest changes the vsock status.
> +#
> +# @cid: guest context ID
> +#
> +# @running: true if the vsock is running
> +#
> +# Since: v4.2
> +#
> +# Example:
> +#
> +# <- { "event": "VSOCK_RUNNING",
> +#      "data": { "cid": "123456", "running": true },
> +#      "timestamp": { "seconds": 1401385907, "microseconds": 422329 } }
> +#
> +##
> +{ 'event': 'VSOCK_RUNNING',
> +  'data': { 'cid': 'uint64',
> +            'running': 'bool' } }

Can you explain why you put this into char.json?

The event traces successful calls of vhost_vsock_set_running().  I have
no idea what vhost_vsock_set_running() does (pardon my ignorance).  Can
you point me to a specification?

Its @start parameter is int.  The event's @running is bool.  Zero gets
mapped to false, non-zero to true.  Are you sure all non-zero values are
equivalent, and will remain equivalent?



reply via email to

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