RE: [RFC PATCH 0/3] ns, procfs: pid conversion between ns and showing pidns hierarchy

From: Chen, Hanxiao
Date: Tue Sep 16 2014 - 05:07:07 EST


Hi,

> -----Original Message-----
> From: Serge E. Hallyn [mailto:serge@xxxxxxxxxx]
>
> Hi,
>
> so the below is just 30 mins worth of playing around, will hang if you give
> it bad pids, and requires privilege, but shows how to get pid conversion
> in some cases. Basically it gives you what I had previously suggested
> for the query_pid syscall before.
>
Thanks for teaching me of how ucred could be used for this case.

> In general, usage is
>
> translatepid reporter_pid dest_pid query_pid
>
> where reporter_pid and dest_pid are pids in your pidns. It will assume
> query_pid is a valid pid in reporter_pid's pidns, and return the pid of
> the same process in dest_pid's namespace.
>
> In particular,
>
> if a process in a container (say pid 1, pid 24444 in the host pidns)
> reports something about another process (say pid 262) in the container,
> and you have a shell (pid 1092) on the host, you can figure out the pid
> for 262 in your host pidns using
>
> translatepid $$ 24444 262
>
> or to figure out what pid 25152 on the host is knows as in the
> container,
>
> translatepid 24444 $$ 25152
>
It's very easy to use:)

> I wonder whether this is enough to give you all you need. While it
> won't be super-fast, you could use and ppid info to figure out who
> is pid 1, etc.

Yes, functionally it's very good.
But for the cases of utilizes like sosreport, ps,
it's a bit of slow.

So the procfs still has its advantages.
And also, I think the pidns hierarchy is needed.
I'll send the v2 ns hierarchy patch soon.

Thanks,
- Chen

N?叉??y??b??千v??藓{.n???{?赙zXФ?塄}?财??j:+v???赙zZ+€?zf"?????i????ア??璀??撷f?^j谦y??@A?囤?0鹅h??i