[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