[lxc-devel] [PATCH] allow all iX86 strings for lxc.arch

Serge Hallyn serge.hallyn at ubuntu.com
Mon Apr 28 20:00:53 UTC 2014


Quoting Dwight Engen (dwight.engen at oracle.com):
> On Mon, 28 Apr 2014 17:54:46 +0000
> Serge Hallyn <serge.hallyn at ubuntu.com> wrote:
> 
> > Quoting Dwight Engen (dwight.engen at oracle.com):
> > > This change accepts the same strings for lxc.arch that setarch(8)
> > > does.
> > > 
> > > When outputting the setting, use i386 instead of x86 since the
> > > later is not a valid input to setarch, nor will the kernel output
> > > UTS_MACHINE as x86. The kernel sets utsname.machine to i[3456]86,
> > > which are all map to PER_LINUX32.
> > > 
> > > Note that we continue to parse plain x86 as PER_LINUX32 so as not
> > > to break existing lxc configuration files.
> > > 
> > > Signed-off-by: Dwight Engen <dwight.engen at oracle.com>
> > 
> > Hi,
> > 
> > the first part (expanding the list of allowed inputs) seems fine, but
> > the second part seems like it could break existing callers.
> 
> That's a good point. Using an older lxc version with a config that's
> been cloned with a newer one won't work because the older one won't
> parse i386. Maybe we should output i686 instead since older lxc's will
> parse that.
> 
> Or are you thinking it is too dangerous that there are callers outside
> of lxc that would be confused by seeing i686 instead of x86? I can drop

Right, whiel it's highly unlikely, I could see some script parsing that
output and being confused by new values.

> the output part, it just seemed a bit wrong that we're using a value
> that isn't valid from the kernel nor for setarch.

Admittedly even templates seem to use i686 rather than x86.  So perhaps
outputting i686 is the best thing to do.

-serge


More information about the lxc-devel mailing list