[libvirt] [PATCH v4 08/13] Implement keepalive protocol in remote driver

Daniel P. Berrange berrange at redhat.com
Mon Nov 7 20:50:40 UTC 2011


On Thu, Oct 27, 2011 at 06:05:44PM +0200, Jiri Denemark wrote:
> ---
> Notes:
>     ACKed
> 
>     Version 4:
>     - no changes
>     
>     Version 3:
>     - remoteStartKeepAlive renamed as remoteSetKeepAlive
>     - clients that implement event loop are required to run it, thus
>       keepalive is enabled if event loop implementation is found without
>       the need to call remoteAllowKeepAlive (which was dropped)
>     - keepalive support is advertised to a server implicitly by asking for
>       keepalive support between authentication and virConnectOpen
>     
>     Version 2:
>     - no changes
> 
>  src/remote/remote_driver.c |   52 +++++++++++++++++++++++++++
>  src/rpc/virnetclient.c     |   83 +++++++++++++++++++++++++++++++++++++++++--
>  src/rpc/virnetclient.h     |    5 +++
>  3 files changed, 136 insertions(+), 4 deletions(-)

ACK

> @@ -663,6 +665,26 @@ doRemoteOpen (virConnectPtr conn,
>      if (remoteAuthenticate(conn, priv, auth, authtype) == -1)
>          goto failed;
>  
> +    if (virNetClientKeepAliveIsSupported(priv->client)) {
> +        remote_supports_feature_args args =
> +            { VIR_DRV_FEATURE_PROGRAM_KEEPALIVE };
> +        remote_supports_feature_ret ret = { 0 };
> +        int rc;
> +
> +        rc = call(conn, priv, 0, REMOTE_PROC_SUPPORTS_FEATURE,
> +                  (xdrproc_t)xdr_remote_supports_feature_args, (char *) &args,
> +                  (xdrproc_t)xdr_remote_supports_feature_ret, (char *) &ret);
> +        if (rc == -1)
> +            goto failed;
> +
> +        if (ret.supported) {
> +            priv->serverKeepAlive = true;
> +        } else {
> +            VIR_WARN("Disabling keepalive protocol since it is not supported"
> +                     " by the server");

Hmm, won't this cause new clients to always issue a warning when talking to
old servers ? Can probably be dropped to VIR_INFO

ACK

Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|




More information about the libvir-list mailing list