[libvirt] [PATCH] Introduce virt-console

Daniel P. Berrange berrange at redhat.com
Thu Jan 15 13:52:08 UTC 2009


On Thu, Jan 15, 2009 at 01:45:50PM +0000, John Levon wrote:
> On Thu, Jan 15, 2009 at 01:28:37PM +0000, Daniel P. Berrange wrote:
> 
> > > +libexec_PROGRAMS = virt-console
> > 
> > This can just be bin_PROGRAMS - not need to hide it outside of
> > /usr/bin - its fine to let users just run virt-console directly
> > if they wish
> 
> Solaris policy is not to introduce plumbing into the user's PATH.
> virt-console is undocumented and there is no advantage to running it
> directly. If it were in PATH we would have to document it, and we have
> no intention of doing that...

I'll volunteer to write a manual page for virt-console, since even
existing manpage for 'virsh console' is non-existant.

> > We need to add an explicit argument to turn on the automatic
> > reconnect of VMs when they reboot. Existing apps calling
> > virsh console rely on its current semantics which are to
> > exit upon domain reboot and we can't break them
> 
> We argued about this last time. Looks like we'll have to keep this
> change private, and let Linux users suffer. Oh well :)

You explicitly break virt-install by doing this.

Have virt-console provide the more sensible default auto-reconnect
semantics, and make 'virsh console' call it with a flag to turn
this off to preserve existing semantics & not break users like
virt-install.

> > > +    if (tcgetattr(ttyfd, &ttyattr) < 0) {
> > > +        ioctl(ttyfd, I_PUSH, "ptem");
> > > +        ioctl(ttyfd, I_PUSH, "ldterm");
> > > +        tcgetattr(ttyfd, &ttyattr);
> > > +    }
> > > +
> > > +    cfmakeraw(&ttyattr);
> > > +    tcsetattr(ttyfd, TCSANOW, &ttyattr);
> > > +#endif
> > 
> > The caller of open_tty() is also doing the getattr/makeraw/setattr
> > operation, so this block appears to be redundant - just need to
> 
> Nope, that's on STDIN, not the pty slave. Stupid STREAMS semantics.

Oh, can you add a comment to this effect -- easy to miss that
distinction when browsing the code :-)

Daniel
-- 
|: Red Hat, Engineering, London   -o-   http://people.redhat.com/berrange/ :|
|: http://libvirt.org  -o-  http://virt-manager.org  -o-  http://ovirt.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505  -o-  F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|




More information about the libvir-list mailing list