All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2] /proc/pid/status: show all sets of pid according to ns
@ 2014-05-28 10:24 ` Chen Hanxiao
  0 siblings, 0 replies; 40+ messages in thread
From: Chen Hanxiao @ 2014-05-28 10:24 UTC (permalink / raw)
  To: containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA
  Cc: Richard Weinberger, Serge Hallyn, Oleg Nesterov, David Howells,
	Eric W. Biederman, Andrew Morton, Al Viro

We need a direct method of getting the pid inside containers.
If some issues occurred inside container guest, host user
could not know which process is in trouble just by guest pid:
the users of container guest only knew the pid inside containers.
This will bring obstacle for trouble shooting.

This patch adds two fields:

NStgid and NSpid.

a) In init_pid_ns, nothing changed;

b) In one pidns, will tell the pid inside containers:
NStgid:	1628 	9 	3
NSpid:	1628 	9 	3
** Process id is 1628 in level 0, 9 in level 1, 3 in level 2.

c) If pidns is nested, it depends on which pidns are you in.
NStgid:	9 	3
NSpid:	9 	3
** Views from level 1

Signed-off-by: Chen Hanxiao <chenhanxiao-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
---
v2: add two new fields: NStgid and NSpid.
    keep fields of Tgid and Pid unchanged for back compatibility.

 fs/proc/array.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/fs/proc/array.c b/fs/proc/array.c
index 64db2bc..9b7e65c 100644
--- a/fs/proc/array.c
+++ b/fs/proc/array.c
@@ -193,6 +193,15 @@ static inline void task_state(struct seq_file *m, struct pid_namespace *ns,
 		from_kgid_munged(user_ns, cred->egid),
 		from_kgid_munged(user_ns, cred->sgid),
 		from_kgid_munged(user_ns, cred->fsgid));
+	seq_puts(m, "NStgid:");
+	for (g = ns->level; g <= pid->level; g++)
+		seq_printf(m, "\t%d ",
+			task_tgid_nr_ns(p, pid->numbers[g].ns));
+	seq_puts(m, "\nNSpid:");
+	for (g = ns->level; g <= pid->level; g++)
+		seq_printf(m, "\t%d ",
+			task_pid_nr_ns(p, pid->numbers[g].ns));
+	seq_putc(m, '\n');
 
 	task_lock(p);
 	if (p->files)
-- 
1.9.0

^ permalink raw reply related	[flat|nested] 40+ messages in thread

end of thread, other threads:[~2014-05-31 20:09 UTC | newest]

Thread overview: 40+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-05-28 10:24 [PATCH v2] /proc/pid/status: show all sets of pid according to ns Chen Hanxiao
2014-05-28 10:24 ` Chen Hanxiao
     [not found] ` <1401272683-1659-1-git-send-email-chenhanxiao-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
2014-05-28 12:44   ` Pavel Emelyanov
2014-05-28 12:44     ` Pavel Emelyanov
     [not found]     ` <5385DA19.2060008-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2014-05-28 18:28       ` Vasily Kulikov
2014-05-28 18:28         ` Vasily Kulikov
2014-05-28 19:27         ` Pavel Emelyanov
2014-05-28 19:27         ` Pavel Emelyanov
     [not found]           ` <53863889.9080509-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2014-05-29  5:59             ` Vasily Kulikov
2014-05-29  5:59               ` Vasily Kulikov
2014-05-29  9:07               ` Pavel Emelyanov
2014-05-29  9:07                 ` Pavel Emelyanov
2014-05-29  9:21                 ` Richard Weinberger
     [not found]                   ` <5386FC0C.9000307-/L3Ra7n9ekc@public.gmane.org>
2014-05-29  9:41                     ` Pavel Emelyanov
2014-05-29  9:41                       ` Pavel Emelyanov
     [not found]                       ` <538700B5.5070601-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2014-05-29  9:54                         ` Richard Weinberger
2014-05-29  9:54                           ` Richard Weinberger
     [not found]                           ` <538703D0.7030308-/L3Ra7n9ekc@public.gmane.org>
2014-05-29 10:02                             ` Pavel Emelyanov
2014-05-29 10:02                               ` Pavel Emelyanov
     [not found]                               ` <5387059E.9010105-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2014-05-29 10:19                                 ` Richard Weinberger
2014-05-29 10:19                                   ` Richard Weinberger
     [not found]                                   ` <538709A5.60000-/L3Ra7n9ekc@public.gmane.org>
2014-05-29 10:36                                     ` Pavel Emelyanov
2014-05-29 10:36                                       ` Pavel Emelyanov
     [not found]                 ` <5386F8EA.8050501-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2014-05-29  9:21                   ` Richard Weinberger
2014-05-29  9:53                   ` chenhanxiao-BthXqXjhjHXQFUHtdCDX3A
2014-05-29 11:12                   ` Vasily Kulikov
2014-05-29 11:12                     ` Vasily Kulikov
2014-05-29 11:31                     ` Pavel Emelyanov
2014-05-29 11:31                       ` Pavel Emelyanov
     [not found]                       ` <53871A92.9000004-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2014-05-29 11:59                         ` Vasily Kulikov
2014-05-29 11:59                           ` Vasily Kulikov
2014-05-29 12:53                           ` Pavel Emelyanov
2014-05-29 12:53                             ` Pavel Emelyanov
     [not found]                             ` <53872DAD.1070502-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2014-05-31  6:07                               ` Vasily Kulikov
2014-05-31  6:07                                 ` Vasily Kulikov
2014-05-31 20:08                                 ` Eric W. Biederman
2014-05-31 20:08                                   ` Eric W. Biederman
2014-05-29  9:53                 ` chenhanxiao
     [not found]                   ` <5871495633F38949900D2BF2DC04883E52A481-ZEd+hNNJ6a5ZYpXjqAkB5jz3u5zwRJJDAzI0kPv9QBlmR6Xm/wNWPw@public.gmane.org>
2014-05-29 10:40                     ` Pavel Emelyanov
2014-05-29 10:40                       ` Pavel Emelyanov

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.