[lxc-devel] [PATCH] lxc-ps: fix the display problem with arg --lxc

Serge Hallyn serge.hallyn at ubuntu.com
Tue Jun 4 17:32:00 UTC 2013


Quoting Weng Meiling (wengmeiling.weng at huawei.com):
> When we use arg --lxc to show processes in all containers, no
> process displays, so fix it.
> 
> Signed-off-by: Weng Meiling <wengmeiling.weng at huawei.com>
> ---
>  src/lxc/lxc-ps.in | 14 +++++++-------
>  1 file changed, 7 insertions(+), 7 deletions(-)
> 
> diff --git a/src/lxc/lxc-ps.in b/src/lxc/lxc-ps.in
> index 29e8097..7e08a71 100644
> --- a/src/lxc/lxc-ps.in
> +++ b/src/lxc/lxc-ps.in
> @@ -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%/}";;

Hi,

at the very least having ';;' here breaks.  Replacing that with one ';'
does seem to fix lxc-ps.  But I worry that this means your patch may
not be what you intended.  Could you please double-check?

>          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
> -- 1.8.2.2
> 
> 
> ------------------------------------------------------------------------------
> How ServiceNow helps IT people transform IT departments:
> 1. A cloud service to automate IT design, transition and operations
> 2. Dashboards that offer high-level views of enterprise services
> 3. A single system of record for all IT processes
> http://p.sf.net/sfu/servicenow-d2d-j
> _______________________________________________
> Lxc-devel mailing list
> Lxc-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/lxc-devel




More information about the lxc-devel mailing list