bump abi version to 4

to show whether we can handle name=systemd cgroup

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
bump version to 0.26

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
cgm: make 'all' also reference name=systemd

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
frontend.c: Fix possible crash when freeing an IO channel

Thanks to Michael Terry <mterry@ubuntu.com> for the bug report and fix.

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
sort the controller mounts

Keep the all_mounts array sorted.

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
handle pre-mounted and co-mounted subsystems

Before we try to mount cgroups, record which were already premounted.
Also record which were co-mounted.

For any pre-mounted cgroups, assume that they are managed by someone
else (like systemd) and do not set a release agent.

Skip remove-on-empty test if pre-mounted

remove_on_empty: refuse to run on pre-mounted controllers

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
introduce basic structure for multiple controller dbus requests

In some dbus requests, allow the controller field to be a single controller
(as before), "all", or a comma-separated list of controllers like
"cpu,cpuset".  If cpu and cpuset are co-mounted, the create will be done only
once.

The dbus requests allow multiple controllers are create, chown, chmod,
remove and movepid.

If more than one controller is specified, and any action fails because the
caller lacks permission, then the failure is ignored.  This is so that
the caller can do "create all xyz; movepid all xyz" to do so for all
hierarchies for which he is allowed to, without having to do extra work.
If there is a better default behavior, I'm open to suggestions.

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
update api version

so userspace can detect whether cgmanager can handle multiple
controllers.

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
implement all and comma-delimited controller sets for RemoveOnEmpty

And bump api version to show it

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
add init scripts

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
don't use --sigstop from sysv scripts

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
bump version to 0.27

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
test14: add some debugging

It's failing under jenkins, and we don't understand why.

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
mark test22 executable

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
process_mounted_subsystem: make sure to get next token in loop

Else we may get infinite loop

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
skip test14 on 3.16 kernel

kernel cgroup subsystem has a race breaking rmdir(/a) right after rmdir(/a/b).
Hopefully it'll be fixed by 3.17.

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
cgproxy sysvinit job: NESTED may be empty

So check for it to != yes not to == no

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
sysv init script: mount name=systemd

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
remove unused variable declarations that came in through cut-paste

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
sysvinit: use /run not /var/run for pidfiles

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>