[lxc-devel] [PATCH 2/2] Support stopping containers concurrently

Stéphane Graber stgraber at ubuntu.com
Tue Apr 23 23:01:40 UTC 2013


On 04/23/2013 11:27 PM, S.Çağlar Onur wrote:
> Hi,
> 
> I accidentally send new patches with the old subject. I was trying to
> add V2 or something to subject line but run git send-email mistakenly,
> you can use them but sorry about the confusion.
> 
> Best,

Pushed.

> On Tue, Apr 23, 2013 at 5:19 PM, Serge Hallyn <serge.hallyn at ubuntu.com
> <mailto:serge.hallyn at ubuntu.com>> wrote:
> 
>     Quoting Stéphane Graber (stgraber at ubuntu.com
>     <mailto:stgraber at ubuntu.com>):
>     > On 04/23/2013 05:29 AM, S.Çağlar Onur wrote:
>     > > Hey Stéphane,
>     > >
>     > > On Wed, Apr 17, 2013 at 6:06 PM, Serge Hallyn
>     <serge.hallyn at ubuntu.com <mailto:serge.hallyn at ubuntu.com>
>     > > <mailto:serge.hallyn at ubuntu.com
>     <mailto:serge.hallyn at ubuntu.com>>> wrote:
>     > >
>     > >     Quoting S.Çağlar Onur (caglar at 10ur.org
>     <mailto:caglar at 10ur.org> <mailto:caglar at 10ur.org
>     <mailto:caglar at 10ur.org>>):
>     > >     > From: "S.Çağlar Onur" <caglar at 10ur.org
>     <mailto:caglar at 10ur.org> <mailto:caglar at 10ur.org
>     <mailto:caglar at 10ur.org>>>
>     > >     >
>     > >     > Trying to stop multiple containers concurrently ends up with
>     > >     "cgroup is not mounted" errors as multiple threads corrupts the
>     > >     shared variables.
>     > >     > Fix that stack corruption and start to use getmntent_r to
>     support
>     > >     stopping multiple containers concurrently.
>     > >     >
>     > >     > Signed-off-by: S.Çağlar Onur <caglar at 10ur.org
>     <mailto:caglar at 10ur.org>
>     > >     <mailto:caglar at 10ur.org <mailto:caglar at 10ur.org>>>
>     > >     > ---
>     > >     >  src/lxc/cgroup.c  |  152
>     > >     +++++++++++++++++++++++++++++++++++------------------
>     > >     >  src/lxc/freezer.c |   18 +++++--
>     > >     >  src/lxc/state.c   |   15 ++++--
>     > >     >  3 files changed, 126 insertions(+), 59 deletions(-)
>     > >     >
>     > >     > diff --git a/src/lxc/cgroup.c b/src/lxc/cgroup.c
>     > >     > index 368214f..0739477 100644
>     > >     > --- a/src/lxc/cgroup.c
>     > >     > +++ b/src/lxc/cgroup.c
>     > >     > @@ -54,6 +54,11 @@ lxc_log_define(lxc_cgroup, lxc);
>     > >     >
>     > >     >  #define MTAB "/proc/mounts"
>     > >     >
>     > >     > +/* In the case of a bind mount, there could be two long
>     pathnames
>     > >     in the
>     > >     > + * mntent plus options so use large enough buffer size
>     > >     > + */
>     > >     > +#define LARGE_MAXPATHLEN 4 * MAXPATHLEN
>     > >     > +
>     > >     >  /* Check if a mount is a cgroup hierarchy for any subsystem.
>     > >     >   * Return the first subsystem found (or NULL if none).
>     > >     >   */
>     > >     > @@ -100,29 +105,31 @@ static char *mount_has_subsystem(const
>     > >     struct mntent *mntent)
>     > >     >   */
>     > >     >  static int get_cgroup_mount(const char *subsystem, char *mnt)
>     > >     >  {
>     > >     > -     struct mntent *mntent;
>     > >     > +     struct mntent *mntent, mntent_r;
>     > >     >       FILE *file = NULL;
>     > >     >       int ret, err = -1;
>     > >     >
>     > >     > +     char buf[LARGE_MAXPATHLEN] = {0};
>     > >
>     > >     Ah yes, this must be what I thought we were waiting on - a
>     response
>     > >     from Stéphane on this.
>     > >
>     > >     I'm still worried about this stack usage, especially in
>     something
>     > >     which is rather commonly called.  Stéphane, is this a non-issue
>     > >     for arm?
>     >
>     > So I had a quick look on an Android device. The stack size is the same
>     > as a desktop machine (8192KB), so the 16KB used by that variable won't
>     > be a problem.
> 
>     thanks, Stéphane.  Then
> 
>     Acked-by: Serge E. Hallyn <serge.hallyn at ubuntu.com
>     <mailto:serge.hallyn at ubuntu.com>>
> 
> 
> 
> 
> -- 
> S.Çağlar Onur <caglar at 10ur.org <mailto:caglar at 10ur.org>>


-- 
Stéphane Graber
Ubuntu developer
http://www.ubuntu.com

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 901 bytes
Desc: OpenPGP digital signature
URL: <http://lists.linuxcontainers.org/pipermail/lxc-devel/attachments/20130424/aebc61e8/attachment.pgp>


More information about the lxc-devel mailing list