[lxc-devel] [PATCHv2 02/12] lxc-attach: use execvp instead of execve

2012-03-11 Thread David Ward
execvp does not require specifying the full path to the executable (e.g., "ls" instead of "/bin/ls"), making the operation of 'lxc-attach' consistent with 'lxc-start' and 'lxc-execute'. Signed-off-by: David Ward --- src/lxc/lxc_attach.c |6 +++--- 1 files changed, 3 insertions(+), 3 deletion

[lxc-devel] [PATCHv2 04/12] utmp: support non-rootfs configuration

2012-03-11 Thread David Ward
Having a rootfs is not a necessary condition for monitoring utmp, since /var or /var/run can just be remounted inside the container instead. We should rely on the other two conditions already in place to decide whether to monitor the utmp file: - the container was started with 'lxc-start', which

[lxc-devel] [PATCHv2 01/12] use syscall numbers from Linux kernel headers

2012-03-11 Thread David Ward
__NR_setns is defined in the Linux kernel headers in linux/unistd.h. The full Linux kernel sources are not necessary for compilation. Signed-off-by: David Ward --- config/linux.m4 | 76 --- configure.ac|8 ++--- src/lxc/Makefile.a

[lxc-devel] [PATCHv2 05/12] cgroup: rearrange code blocks

2012-03-11 Thread David Ward
Avoid nesting and improve readability. Signed-off-by: David Ward --- src/lxc/cgroup.c | 66 - 1 files changed, 30 insertions(+), 36 deletions(-) diff --git a/src/lxc/cgroup.c b/src/lxc/cgroup.c index cc3910a..c915b52 100644 --- a/src/lxc/cgr

[lxc-devel] [PATCHv2 00/12] Assorted fixes against lxc 0.8.0-rc1

2012-03-11 Thread David Ward
v2: Add changes to scripts (including new '--active' flag for lxc-ls) The following patches address a number of different issues I discovered while building or using lxc, including compatibility with systemd. They were tested on top of lxc 0.8.0-rc1 under Fedora 16. Please let me know if you have

[lxc-devel] [PATCHv2 08/12] refresh lxc-ls

2012-03-11 Thread David Ward
Add an '--active' option that lists active containers by searching cgroups. (Otherwise, the directories in /var/lib/lxc are listed.) Modify the cgroup search to only use hierarchies that contain one or more subsystems. Add a '--help' option that prints the command syntax. Print error messages and

[lxc-devel] [PATCHv2 06/12] lxc-attach: unify code for attaching a pid to a cgroup

2012-03-11 Thread David Ward
To attach a new pid to the cgroups for an existing container, we can use the same method that we did when we started the container: iterate over all the mounted cgroup hierarchies; find the cgroup that pid 1 is in for each hierarchy; add 'lxc/' to the end of it; then write the pid to the 'tasks' fi

[lxc-devel] [PATCHv2 07/12] cgroup: only touch hierarchies that are bound to subsystems

2012-03-11 Thread David Ward
Obtain a list of subsystems from /proc/cgroups, and ignore hierarchies that are not bound to any of them (especially the 'systemd' hierarchy: http://www.freedesktop.org/wiki/Software/systemd/PaxControlGroups ). Signed-off-by: David Ward --- src/lxc/cgroup.c | 50 +++

[lxc-devel] [PATCHv2 03/12] utmp: do not set conf->need_utmp_watch if CAP_SYS_BOOT is not found

2012-03-11 Thread David Ward
If CAP_SYS_BOOT is not found in the kernel, the existing value for conf->need_utmp_watch should be left intact (which will be '1' for containers started with 'lxc-start', or '0' for containers started with 'lxc-execute'). Signed-off-by: David Ward --- src/lxc/start.c |1 - 1 files changed, 0

[lxc-devel] [PATCHv2 09/12] refresh lxc-netstat

2012-03-11 Thread David Ward
Modify the cgroup search to only use hierarchies that contain one or more subsystems. Change method of bind mounting /proc//net onto /proc/net, to avoid error "cannot mount block device /proc//net read-only". Check that user is root. Check that container name is specified before calling 'exec'.

[lxc-devel] [PATCHv2 10/12] rewrite lxc-ps

2012-03-11 Thread David Ward
Use bash instead of perl; eliminates final lxc dependency on perl (beneficial for minimal operating system environments). Modify the cgroup search to only use hierarchies that contain one or more subsystems. Maintain column spacing. Expand container name column as necessary. Properly handle space

[lxc-devel] [PATCHv2 11/12] make help consistent for other scripts

2012-03-11 Thread David Ward
Display help information in a consistent format. Print error messages and help information to stderr. Prefix error messages with the name of the script (for easier debugging as part of larger scripts). Allow help information to be printed as a non-root user. Fix file mode for lxc-checkconfig.in.

[lxc-devel] [PATCHv2 12/12] lxc-setcap/lxc-setuid: add autoconf expansion for $libexecdir

2012-03-11 Thread David Ward
Support new default location for LXCINITDIR. --- configure.ac |1 + src/lxc/lxc-setcap.in |1 + src/lxc/lxc-setuid.in |1 + 3 files changed, 3 insertions(+), 0 deletions(-) diff --git a/configure.ac b/configure.ac index 526d22d..5c47dfc 100644 --- a/configure.ac +++ b/configu

Re: [lxc-devel] [PATCH 3/9] lxc-ls: only list active containers

2012-03-11 Thread Ward, David - 0663 - MITLL
On 03/05/2012 06:01 PM, Daniel Lezcano wrote: On 03/05/2012 02:34 PM, David Ward wrote: Originally, lxc-ls listed all containers by printing the directory names in /var/lib/lxc. After commit 65cb447f9b8d1ac8dcf9df24a4f877180444f003, lxc-ls now finds and prints active containers by searching for

[lxc-devel] [PATCHv2 w/SignOff 12/12] lxc-setcap/lxc-setuid: add autoconf expansion for $libexecdir

2012-03-11 Thread David Ward
Support new default location for LXCINITDIR. Signed-off-by: David Ward --- configure.ac |1 + src/lxc/lxc-setcap.in |1 + src/lxc/lxc-setuid.in |1 + 3 files changed, 3 insertions(+), 0 deletions(-) diff --git a/configure.ac b/configure.ac index 526d22d..5c47dfc 100644 ---