All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Serge E. Hallyn" <serge-A9i7LUbDfNHQT0dZR+AlfA@public.gmane.org>
To: Chen Hanxiao <chenhanxiao-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
Cc: Jonathan Corbet <corbet-T1hC0tSOHrs@public.gmane.org>,
	linux-doc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org,
	Serge Hallyn
	<serge.hallyn-GeWIH/nMZzLQT0dZR+AlfA@public.gmane.org>,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Nathan Scott <nathans-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
	"Eric W. Biederman"
	<ebiederm-aS9lmoZGLiVWk0Htik3J/w@public.gmane.org>,
	Andrew Morton
	<akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
Subject: Re: [resend][PATCH v10 1/2] /proc/PID/status: show all sets of pid according to ns
Date: Mon, 23 Feb 2015 10:56:59 -0600	[thread overview]
Message-ID: <20150223165659.GD32181@mail.hallyn.com> (raw)
In-Reply-To: <1424605685-5081-2-git-send-email-chenhanxiao-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>

On Sun, Feb 22, 2015 at 07:48:04PM +0800, Chen Hanxiao wrote:
> If some issues occurred inside a 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 four fields: NStgid, NSpid, NSpgid and NSsid:
> a) In init_pid_ns, nothing changed;
> 
> b) In one pidns, will tell the pid inside containers:
>   NStgid: 21776   5       1
>   NSpid:  21776   5       1
>   NSpgid: 21776   5       1
>   NSsid:  21729   1       0
>   ** Process id is 21776 in level 0, 5 in level 1, 1 in level 2.
> 
> c) If pidns is nested, it depends on which pidns are you in.
>   NStgid: 5       1
>   NSpid:  5       1
>   NSpgid: 5       1
>   NSsid:  1       0
>   ** Views from level 1

So obviously (since I acked it) I see no problems with this patch or
the api, but it occurs to me that you have not cc:d linux-api?  Since
a procfile addition is something we're stuck with for eternity, it
seems worth it.  If we get an ack from there, then i'd say email
to Linus directly.  Putting this through -mm doesn't really seem
necessary given its nature.

> Acked-by: Serge Hallyn <serge.hallyn-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org>
> Acked-by: "Eric W. Biederman" <ebiederm-aS9lmoZGLiVWk0Htik3J/w@public.gmane.org>
> 
> Tested-by: Serge Hallyn <serge.hallyn-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org>
> Tested-by: Nathan Scott <nathans-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
> 
> Signed-off-by: Chen Hanxiao <chenhanxiao-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
> ---
> v10: remove trailing space of pid numbers
>      rebased on 3.19
> v9: rebased on 3.19-rc1
> No change from v4-v8
> v3: add another two fielsd: NSpgid and NSsid.
> v2: add two new fields: NStgid and NSpid.
>     keep fields of Tgid and Pid unchanged for back compatibility.
> 
>  fs/proc/array.c | 16 ++++++++++++++++
>  1 file changed, 16 insertions(+)
> 
> diff --git a/fs/proc/array.c b/fs/proc/array.c
> index 1295a00..d79bad9 100644
> --- a/fs/proc/array.c
> +++ b/fs/proc/array.c
> @@ -188,6 +188,22 @@ static inline void task_state(struct seq_file *m, struct pid_namespace *ns,
>  			   from_kgid_munged(user_ns, GROUP_AT(group_info, g)));
>  	put_cred(cred);
>  
> +	seq_puts(m, "\nNStgid:");
> +	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_puts(m, "\nNSpgid:");
> +	for (g = ns->level; g <= pid->level; g++)
> +		seq_printf(m, "\t%d",
> +			task_pgrp_nr_ns(p, pid->numbers[g].ns));
> +	seq_puts(m, "\nNSsid:");
> +	for (g = ns->level; g <= pid->level; g++)
> +		seq_printf(m, "\t%d",
> +			task_session_nr_ns(p, pid->numbers[g].ns));
>  	seq_putc(m, '\n');
>  }
>  
> -- 
> 2.1.0
> 
> _______________________________________________
> Containers mailing list
> Containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org
> https://lists.linuxfoundation.org/mailman/listinfo/containers

WARNING: multiple messages have this Message-ID (diff)
From: "Serge E. Hallyn" <serge@hallyn.com>
To: Chen Hanxiao <chenhanxiao@cn.fujitsu.com>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Jonathan Corbet <corbet@lwn.net>,
	containers@lists.linux-foundation.org,
	Serge Hallyn <serge.hallyn@ubuntu.com>,
	linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org,
	Nathan Scott <nathans@redhat.com>
Subject: Re: [resend][PATCH v10 1/2] /proc/PID/status: show all sets of pid according to ns
Date: Mon, 23 Feb 2015 10:56:59 -0600	[thread overview]
Message-ID: <20150223165659.GD32181@mail.hallyn.com> (raw)
In-Reply-To: <1424605685-5081-2-git-send-email-chenhanxiao@cn.fujitsu.com>

On Sun, Feb 22, 2015 at 07:48:04PM +0800, Chen Hanxiao wrote:
> If some issues occurred inside a 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 four fields: NStgid, NSpid, NSpgid and NSsid:
> a) In init_pid_ns, nothing changed;
> 
> b) In one pidns, will tell the pid inside containers:
>   NStgid: 21776   5       1
>   NSpid:  21776   5       1
>   NSpgid: 21776   5       1
>   NSsid:  21729   1       0
>   ** Process id is 21776 in level 0, 5 in level 1, 1 in level 2.
> 
> c) If pidns is nested, it depends on which pidns are you in.
>   NStgid: 5       1
>   NSpid:  5       1
>   NSpgid: 5       1
>   NSsid:  1       0
>   ** Views from level 1

So obviously (since I acked it) I see no problems with this patch or
the api, but it occurs to me that you have not cc:d linux-api?  Since
a procfile addition is something we're stuck with for eternity, it
seems worth it.  If we get an ack from there, then i'd say email
to Linus directly.  Putting this through -mm doesn't really seem
necessary given its nature.

> Acked-by: Serge Hallyn <serge.hallyn@canonical.com>
> Acked-by: "Eric W. Biederman" <ebiederm@xmission.com>
> 
> Tested-by: Serge Hallyn <serge.hallyn@canonical.com>
> Tested-by: Nathan Scott <nathans@redhat.com>
> 
> Signed-off-by: Chen Hanxiao <chenhanxiao@cn.fujitsu.com>
> ---
> v10: remove trailing space of pid numbers
>      rebased on 3.19
> v9: rebased on 3.19-rc1
> No change from v4-v8
> v3: add another two fielsd: NSpgid and NSsid.
> v2: add two new fields: NStgid and NSpid.
>     keep fields of Tgid and Pid unchanged for back compatibility.
> 
>  fs/proc/array.c | 16 ++++++++++++++++
>  1 file changed, 16 insertions(+)
> 
> diff --git a/fs/proc/array.c b/fs/proc/array.c
> index 1295a00..d79bad9 100644
> --- a/fs/proc/array.c
> +++ b/fs/proc/array.c
> @@ -188,6 +188,22 @@ static inline void task_state(struct seq_file *m, struct pid_namespace *ns,
>  			   from_kgid_munged(user_ns, GROUP_AT(group_info, g)));
>  	put_cred(cred);
>  
> +	seq_puts(m, "\nNStgid:");
> +	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_puts(m, "\nNSpgid:");
> +	for (g = ns->level; g <= pid->level; g++)
> +		seq_printf(m, "\t%d",
> +			task_pgrp_nr_ns(p, pid->numbers[g].ns));
> +	seq_puts(m, "\nNSsid:");
> +	for (g = ns->level; g <= pid->level; g++)
> +		seq_printf(m, "\t%d",
> +			task_session_nr_ns(p, pid->numbers[g].ns));
>  	seq_putc(m, '\n');
>  }
>  
> -- 
> 2.1.0
> 
> _______________________________________________
> Containers mailing list
> Containers@lists.linux-foundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/containers

  parent reply	other threads:[~2015-02-23 16:56 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-22 11:48 [resend][PATCH v10 0/2] ns, procfs: pid conversion between ns Chen Hanxiao
     [not found] ` <1424605685-5081-1-git-send-email-chenhanxiao-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
2015-02-22 11:48   ` [resend][PATCH v10 1/2] /proc/PID/status: show all sets of pid according to ns Chen Hanxiao
2015-02-22 11:48     ` Chen Hanxiao
     [not found]     ` <1424605685-5081-2-git-send-email-chenhanxiao-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
2015-02-23 16:56       ` Serge E. Hallyn [this message]
2015-02-23 16:56         ` Serge E. Hallyn
2015-02-22 11:48   ` [PATCH v10 2/2] docs: add missing and new /proc/PID/status file entries, fix typos Chen Hanxiao
2015-02-22 11:48 ` Chen Hanxiao

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150223165659.GD32181@mail.hallyn.com \
    --to=serge-a9i7lubdfnhqt0dzr+alfa@public.gmane.org \
    --cc=akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org \
    --cc=chenhanxiao-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org \
    --cc=containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org \
    --cc=corbet-T1hC0tSOHrs@public.gmane.org \
    --cc=ebiederm-aS9lmoZGLiVWk0Htik3J/w@public.gmane.org \
    --cc=linux-doc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=nathans-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=serge.hallyn-GeWIH/nMZzLQT0dZR+AlfA@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.