Quoting S.Çağlar Onur (cag...@10ur.org): > Hi Serge, > > On Wed, Jan 15, 2014 at 12:19 PM, Serge Hallyn <serge.hal...@ubuntu.com> > wrote: > > Quoting Stéphane Graber (stgra...@ubuntu.com): > >> On Tue, Jan 14, 2014 at 04:41:36PM -0600, Serge Hallyn wrote: > >> > This patch splits out most of the cgroupfs-specific code, so that > >> > cgroup-manager versions can be plugged in. The case I did > >> > not handle is cgroup_enter at lxc_attach. I'm hoping that case can > >> > be greatly simplified, but will worry about it after fleshing out the > >> > cgroup manager handlers. > >> > > >> > This also simplify the freezer functions. > >> > > >> > This seems to not regress my common tests when running without > >> > cgmanager, but I'd like to do a bit more testing before pushing. > >> > However I was hoping to get some more eyes on this so am sending it > >> > out now. > >> > > >> > Signed-off-by: Serge Hallyn <serge.hal...@ubuntu.com> > >> > >> So I haven't spotted anything obviously wrong with it, besides the few > >> functions that are currently marked as unimplemented. > > > >> I also confirmed that the code still builds on all supported platforms > >> (without cgmanager), so if it breaks the existing code path, it doesn't > >> do so in any obvious way. > > > > All my testing currently seems to be passing (using cgroupfs driver). > > Ideally I'd like to get wider testing. Can anyone suggest a better way > > than for me to simply push the patch upstream? > > Haven't looked at the new code but seems like freezer code is broken > on master (or something else changed), this is _without_ cgmanager > https://gist.github.com/caglar10ur/8450091
Ah you had me worried - broken is a strong word there :) It's just a bit overly verbose. The following patch should fix it: From e8d07ef2058baa04f42561533e121bf37c886e29 Mon Sep 17 00:00:00 2001 From: Serge Hallyn <serge.hal...@ubuntu.com> Date: Thu, 16 Jan 2014 08:41:44 -0600 Subject: [PATCH 1/1] shut up freezer_state Not being able to get freezer state is perfectly valid - if the container does not exist. The old version of freezer_state only reported an error on actually reading the cgroup file, but not on not finding a cgroup file. Leave it to the caller to report the error if it is important, since we don't actually know any useful info here anyway. Signed-off-by: Serge Hallyn <serge.hal...@ubuntu.com> --- src/lxc/cgroup.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/lxc/cgroup.c b/src/lxc/cgroup.c index c4022af..8ea347d 100644 --- a/src/lxc/cgroup.c +++ b/src/lxc/cgroup.c @@ -2090,10 +2090,8 @@ int freeze_unfreeze(const char *name, int freeze, const char *lxcpath) lxc_state_t freezer_state(const char *name, const char *lxcpath) { char v[100]; - if (lxc_cgroup_get("freezer.state", v, 100, name, lxcpath) < 0) { - ERROR("Failed to get freezer state for %s:%s", lxcpath, name); + if (lxc_cgroup_get("freezer.state", v, 100, name, lxcpath) < 0) return -1; - } if (v[strlen(v)-1] == '\n') v[strlen(v)-1] = '\0'; -- 1.8.5.2 _______________________________________________ lxc-devel mailing list lxc-devel@lists.linuxcontainers.org http://lists.linuxcontainers.org/listinfo/lxc-devel