[libvirt] [PATCH v3 2/7] Add flags for virDomainOpenConsole

Eric Blake eblake at redhat.com
Thu Feb 2 00:21:00 UTC 2012


On 01/26/2012 10:16 AM, Peter Krempa wrote:
> This patch adds a set of flags to be used with the virDomainOpenConsole
> API call to specify if the user wishes to interrupt an existing console
> session or just to try open a new one.
> 
> VIR_DOMAIN_CONSOLE_SAFE - specifies that the console connection should
>                           be opened only if the hypervisor supports
>                           mutualy exclusive access to console devices

s/mutualy/mutually/

> 
> VIR_DOMAIN_CONSOLE_FORCE - specifies that the caller wishes to interrupt
>                            existing session and force a creation of a
>                            new one.
> ---
> Diff to v2:
> - added missing documentation
> - fixed version
> - added flag VIR_DOMAIN_CONSOLE_SAFE that denotes usage of safe console
> 

> +/**
> + * virDomainConsoleFlags
> + *
> + * Since 0.9.10
> + */
> +typedef enum {
> 
> +    VIR_DOMAIN_CONSOLE_FORCE = (1 << 0), /* abort a (possibly) active console
> +                                            connection to force a new
> +                                            connection*/

Space before */

> +    VIR_DOMAIN_CONSOLE_SAFE = (1 << 1), /* check if the console driver supports
> +                                           safe console operations */
> +} virDomainConsoleFlags;
> 
>  int virDomainOpenConsole(virDomainPtr dom,
>                           const char *devname,
> diff --git a/src/libvirt.c b/src/libvirt.c
> index 8be4e13..0d89f1b 100644
> --- a/src/libvirt.c
> +++ b/src/libvirt.c
> @@ -17380,7 +17380,7 @@ virDomainSnapshotFree(virDomainSnapshotPtr snapshot)
>   * @dom: a domain object
>   * @dev_name: the console, serial or parallel port device alias, or NULL
>   * @st: a stream to associate with the console
> - * @flags: extra flags; not used yet, so callers should always pass 0
> + * @flags: bit-wise OR of virDomainConsoleFlags

s/bit-wise OR/bitwise-OR/ for consistency with other lines

>   *
>   * This opens the backend associated with a console, serial or
>   * parallel port device on a guest, if the backend is supported.
> @@ -17389,6 +17389,15 @@ virDomainSnapshotFree(virDomainSnapshotPtr snapshot)
>   * in @st stream, which should have been opened in non-blocking
>   * mode for bi-directional I/O.
>   *
> + * By default, when @flags is 0, the open will fail if libvirt
> + * detects that the console is already in use by another client;
> + * passing VIR_DOMAIN_CONSOLE_FORCE will cause libvirt to forcefully
> + * remove the other client prior to opening this console.
> + *
> + * If flag VIR_DOMAIN_CONSOLE_SAFE the console is opened only in the
> + * case the hypervisor driver supports safe (mutually exclusive)

s/case the/case where the/

> + * console handling.

Maybe add:

Older servers did not support either flag, and also did not forbid
simultaneous clients on a console, with potentially confusing results.
When passing @flags of 0 in order to support a wider range of server
versions, it is up to the client to ensure mutual exclusion.

ACK.

-- 
Eric Blake   eblake at redhat.com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 620 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20120201/30f58dc9/attachment-0001.sig>


More information about the libvir-list mailing list