[PATCH 3/7] proc: Introduce the Children: line in /proc/<pid>/status
Serge E. Hallyn
serge.hallyn at canonical.com
Thu Jul 21 08:54:11 PDT 2011
Quoting Pavel Emelyanov (xemul at parallels.com):
> Although we can get the pids of some task's issue, this is just
> more convenient to have them this way.
>
> Signed-off-by: Pavel Emelyanov <xemul at parallels.com>.
Mind you status is getting long :) But I see no problem with the
patch technically, and it seems useful if we're going to go the
user-space-checkpoint route.
Acked-by: Serge Hallyn <serge.hallyn at canonical.com>
> ---
> fs/proc/array.c | 14 ++++++++++++++
> 1 files changed, 14 insertions(+), 0 deletions(-)
>
> diff --git a/fs/proc/array.c b/fs/proc/array.c
> index 5e4f776..f01f480 100644
> --- a/fs/proc/array.c
> +++ b/fs/proc/array.c
> @@ -158,6 +158,18 @@ static inline const char *get_task_state(struct task_struct *tsk)
> return *p;
> }
>
> +static void task_children(struct seq_file *m, struct task_struct *p, struct pid_namespace *ns)
> +{
> + struct task_struct *c;
> +
> + seq_printf(m, "Children:");
> + read_lock(&tasklist_lock);
> + list_for_each_entry(c, &p->children, sibling)
> + seq_printf(m, " %d", pid_nr_ns(task_pid(c), ns));
> + read_unlock(&tasklist_lock);
> + seq_putc(m, '\n');
> +}
> +
> static inline void task_state(struct seq_file *m, struct pid_namespace *ns,
> struct pid *pid, struct task_struct *p)
> {
> @@ -192,6 +204,8 @@ static inline void task_state(struct seq_file *m, struct pid_namespace *ns,
> cred->uid, cred->euid, cred->suid, cred->fsuid,
> cred->gid, cred->egid, cred->sgid, cred->fsgid);
>
> + task_children(m, p, ns);
> +
> task_lock(p);
> if (p->files)
> fdt = files_fdtable(p->files);
> --
> 1.5.5.6
> _______________________________________________
> Containers mailing list
> Containers at lists.linux-foundation.org
> https://lists.linux-foundation.org/mailman/listinfo/containers
More information about the Containers
mailing list