[lxc-devel] [PATCH] lxc-ps: fix the display problem with arg --lxc
When we use arg --lxc to show processes in all containers, no process displays, so fix it. Signed-off-by: Weng Meiling --- 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%/}";; 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@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lxc-devel
Re: [lxc-devel] [PATCH] lxc-ps: fix the display problem with arg --lxc
Quoting Weng Meiling (wengmeiling.w...@huawei.com): > When we use arg --lxc to show processes in all containers, no > process displays, so fix it. > > Signed-off-by: Weng Meiling > --- > 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@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/lxc-devel -- 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@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lxc-devel
Re: [lxc-devel] [PATCH] lxc-ps: fix the display problem with arg --lxc
On 2013/6/5 1:32, Serge Hallyn wrote: > Quoting Weng Meiling (wengmeiling.w...@huawei.com): >> When we use arg --lxc to show processes in all containers, no >> process displays, so fix it. >> >> Signed-off-by: Weng Meiling >> --- >> 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? > yes, I'm sorry for this. I'll be more carefull. >> 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@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/lxc-devel > > . > -- 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@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lxc-devel
Re: [lxc-devel] [PATCH] lxc-ps: fix the display problem with arg --lxc
Quoting Weng Meiling (wengmeiling.w...@huawei.com): > On 2013/6/5 1:32, Serge Hallyn wrote: > > Quoting Weng Meiling (wengmeiling.w...@huawei.com): > >> When we use arg --lxc to show processes in all containers, no > >> process displays, so fix it. > >> > >> Signed-off-by: Weng Meiling > >> --- > >> 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? > > > yes, I'm sorry for this. I'll be more carefull. Thanks - just wanted to make sure this didn't mean there might be other missing hunks in the sent patch. I've attached wrong files before... Acked-by: Serge E. Hallyn and pushed to staging, thanks. -serge -- 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@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lxc-devel