[lxc-devel] [PATCH] separate console device from console log

Dwight Engen dwight.engen at oracle.com
Wed Jan 2 22:33:53 UTC 2013


On Wed, 02 Jan 2013 13:37:29 -0500
Stéphane Graber <stgraber at ubuntu.com> wrote:

> On 12/27/2012 05:01 PM, Dwight Engen wrote:
> > lxc-start -c makes the named file/device the container's console,
> > but using this with a regular file in order to get a log of the
> > console output does not work very well if you also want to login on
> > the console. This change implements an additional option (-L) to
> > simply log the console's output to a file.
> > 
> > Both options can be used separately or together. For example to get
> > a usable console and log: lxc-start -n name -c /dev/tty8 -L
> > console.log
> > 
> > The console state is cleaned up more when lxc_delete_console is
> > called, and some of the clean up paths in lxc_create_console were
> > fixed.
> > 
> > The lxc_priv and lxc_unpriv macros were modified to make use of
> > gcc's local label feature so they can be expanded more than once in
> > the same function.
> > 
> > Signed-off-by: Dwight Engen <dwight.engen at oracle.com>
> 
> I think I'd like Serge to take a quick look at that one as I have very
> limited knowledge of what's going on with the console handling.
> I didn't spot any specific problem though.

Sounds good.
 
> Just one comment below related to the manpage change.
> 
> > ---
> >  doc/lxc-start.sgml.in | 28 ++++++++++------
> >  src/lxc/arguments.h   |  1 +
> >  src/lxc/caps.h        | 12 ++++---
> >  src/lxc/conf.c        |  2 ++
> >  src/lxc/conf.h        |  2 ++
> >  src/lxc/console.c     | 58 +++++++++++++++++++++++++++-----
> >  src/lxc/lxc_start.c   | 91
> > ++++++++++++++++++++++++++++++--------------------- 7 files
> > changed, 134 insertions(+), 60 deletions(-)
> > 
> > diff --git a/doc/lxc-start.sgml.in b/doc/lxc-start.sgml.in
> > index 5c98a25..e4036f4 100644
> > --- a/doc/lxc-start.sgml.in
> > +++ b/doc/lxc-start.sgml.in
> > @@ -51,7 +51,8 @@ Foundation, Inc., 59 Temple Place, Suite 330,
> > Boston, MA 02111-1307 USA <command>lxc-start</command>
> >        <arg choice="req">-n <replaceable>name</replaceable></arg>
> >        <arg choice="opt">-f
> > <replaceable>config_file</replaceable></arg>
> > -      <arg choice="opt">-c
> > <replaceable>console_file</replaceable></arg>
> > +      <arg choice="opt">-c
> > <replaceable>console_device</replaceable></arg>
> > +      <arg choice="opt">-L
> > <replaceable>console_logfile</replaceable></arg> <arg
> > choice="opt">-d</arg> <arg choice="opt">-p
> > <replaceable>pid_file</replaceable></arg> <arg choice="opt">-s
> > KEY=VAL</arg> @@ -76,11 +77,6 @@ Foundation, Inc., 59 Temple Place,
> > Suite 330, Boston, MA 02111-1307 USA defined, the default isolation
> > is used. </para>
> >      <para>
> > -      The orphan process group
> > -      and daemon are not supported by this command, use
> > -      the <command>lxc-execute</command> command instead.
> > -    </para>
> > -    <para>
> 
> Why was that dropped? I don't see any mention in the commit message
> about it. Is that no longer relevant?

Correct, no longer relevant. I didn't find anything in the code base
about orphaned process groups, and -d (daemonize) actually does work.





More information about the lxc-devel mailing list