On 06.07.2011 00:34, Eric Blake wrote:
On 07/04/2011 02:48 AM, Michal Privoznik wrote:
> This option accepts 3 values:
> -keep, to keep current client connected (Spice+VNC)
> -disconnect, to disconnect client (Spice)
> -fail, to fail setting password if there is a client connected (Spice)
> ---
> diff to v3:
> -rebase to current HEAD & resend
>
> diff to v2:
> -fixed typo
> -added test. However, functionality provided by this patch will show up
> only when talking to qemu monitor (set_password command).
>
> diff to v1:
> -Eric's review suggestions included
> -update 'Since'
>
> docs/formatdomain.html.in | 13 +++++-
> docs/schemas/domain.rng | 16 +++++++
> src/conf/domain_conf.c | 44 ++++++++++++++++++-
> src/conf/domain_conf.h | 11 +++++
> src/libvirt_private.syms | 2 +
> src/qemu/qemu_hotplug.c | 15 +++++-
> .../qemuxml2argv-graphics-spice-timeout.xml | 2 +-
> 7 files changed, 94 insertions(+), 9 deletions(-)
This patch changes the .xml, but not the corresponding .args file, which
to me says it is probably incomplete. We covered the case of changing
the attribute affecting qemu_hotplug:
> +++ b/src/qemu/qemu_hotplug.c
> @@ -1065,10 +1065,12 @@ qemuDomainChangeGraphics(struct qemud_driver *driver,
> return -1;
> }
>
> - /* If a password lifetime was, or is set, then we must always run,
> - * even if new password matches old password */
> + /* If a password lifetime was, or is set, or action if connected has
> + * changed, then we must always run, even if new password matches
> + * old password */
> if (olddev->data.vnc.auth.expires ||
> dev->data.vnc.auth.expires ||
> + olddev->data.vnc.auth.connected != dev->data.vnc.auth.connected
||
But shouldn't we also handle the case of setting the property up front
in the initial qemu -spice command line argument, meaning a change is
also needed to qemu_command.c?
No. This is purely QMP thing. qemu -spice does not have any option for
setting this (the current git version at least). That .xml vs .args
change: I've changed .xml so we can test RNG scheme. There is nothing to
add to .args.
Michal