]> git.ipfire.org Git - thirdparty/lxc.git/commitdiff
lxc-ps: fix the display problem with arg --lxc
authorWeng Meiling <wengmeiling.weng@huawei.com>
Tue, 4 Jun 2013 12:52:27 +0000 (20:52 +0800)
committerSerge Hallyn <serge.hallyn@ubuntu.com>
Wed, 5 Jun 2013 04:05:39 +0000 (23:05 -0500)
When we use arg --lxc to show processes in all containers, no
process displays, so fix it.

(Changelog: Serge: in-line fix of s/;;/;/ at line 69)

Signed-off-by: Weng Meiling <wengmeiling.weng@huawei.com>
Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
src/lxc/lxc-ps.in

index 29e8097d931f5583e5bc7d0a667a7cd6d9e13824..d04f81561f3b7d249adeb8bfb0daa72d001ed4aa 100644 (file)
@@ -39,9 +39,10 @@ help() {
 
 get_parent_cgroup()
 {
-    local hierarchies hierarchy fields subsystems init_cgroup mountpoint
+    local hierarchies hierarchy fields init_cgroup mountpoint
 
     parent_cgroup=""
+    subsystems=""
 
     # Obtain a list of hierarchies that contain one or more subsystems
     hierarchies=$(tail -n +2 /proc/cgroups | cut -f 2)
@@ -65,11 +66,7 @@ get_parent_cgroup()
         if [ -z "$mountpoint" ]; then continue; fi
 
         # Return the absolute path to the containers' parent cgroup
-        # (do not append '/lxc' if the hierarchy contains the 'ns' subsystem)
-        case ",$subsystems," in
-            *,ns,*) parent_cgroup="${mountpoint}${init_cgroup%/}";;
-            *) parent_cgroup="${mountpoint}${init_cgroup%/}";;
-        esac
+        parent_cgroup="${mountpoint}${init_cgroup%/}";
         break
     done
 }
@@ -106,7 +103,10 @@ if [ ! -d "$parent_cgroup" ]; then
 fi
 
 if [ -z "$containers" ]; then
-    containers="$(find $parent_cgroup -mindepth 1 -maxdepth 1 -type d 2>/dev/null | sed 's:.*/::')"
+    case ",$subsystems," in
+       *,ns,*) containers="$(find $parent_cgroup -mindepth 1 -maxdepth 1 -type d 2>/dev/null | sed 's:.*/::')";;
+        *) containers="$(find $parent_cgroup/lxc -mindepth 1 -maxdepth 1 -type d 2>/dev/null | sed 's:.*/::')";;
+    esac
 fi
 
 container_field_width=9