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@xxxxxxxxxx +1-919-301-3266 Libvirt virtualization library http://libvirt.org
Attachment:
signature.asc
Description: OpenPGP digital signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list