> -----Original Message----- > From: containers-boun...@lists.linux-foundation.org > [mailto:containers-boun...@lists.linux-foundation.org] On Behalf Of Chen > Hanxiao > Sent: Friday, October 24, 2014 6:16 PM > To: contain...@lists.linux-foundation.org; linux-kernel@vger.kernel.org > Cc: Richard Weinberger; Serge Hallyn; Oleg Nesterov; Mateusz Guzik; David > Howells; > Eric W. Biederman > Subject: [RESEND][PATCH 0/2v5] ns, procfs: pid conversion between ns and > showing > pidns hierarchy > > This series will expose pid inside containers > via procfs. > Also show the hierarchy of pid namespcae. > Then we could know how pid looks inside a container > and their ns relationships. > > 1. helpful for nested container check/restore > From /proc/PID/ns/pid, we could know whether two pid lived > in the same ns. > From this patch, we could know whether two pid had relationship > between each other. > > 2. used for pid translation from container > Ex: > init_pid_ns ns1 ns2 > t1 2 > t2 `- 3 1 > t3 `- 4 3 > t4 `- 5 `- 5 1 > t5 `- 6 `- 8 3 > > It could solve problems like: we see a pid 3 goes wrong > in container's log, what is its pid on hosts: > a) inside container: > # readlink /proc/3/ns/pid > pid:[4026532388] > > b) on host: > # cat /proc/pidns_hierarchy > 14918 16263 > 16581 > Then we could easily find /proc/16263/ns/pid->4026532388. > On host, we knew that reported pid 3 is in level 2, > and its parental pid ns is from pid 14918. > > c) on host, check child of 16263, grep it from status: > NSpid: 16268 8 3 > > We knew that pid 16268 is pid 3 reported by container. >
Hi, Any comments? Thanks, - Chen