RE: [RFC PATCH 2/3] procfs: show hierarchy of pid namespace
From: Chen, Hanxiao
Date: Thu Sep 04 2014 - 06:13:57 EST
> -----Original Message-----
> On Wed, Sep 03, 2014 at 18:29 +0800, Chen Hanxiao wrote:
> > This patch will show the hierarchy of pid namespace
> > under /proc/pidns like:
> > /proc/pidns
> > âââ hierarchy
> > â âââ pidns4026532399
> > â â âââ pidns -> /proc/2863/ns/pid
> > â â âââ pidns4026532515
> > â â âââ pidns -> /proc/10611/ns/pid
> > â âââ pidns4026532504
> > â âââ pidns -> /proc/4450/ns/pid
> > âââ refresh
> Re: this hierarchy:
> 1) I think it is a bit weird that there is a global hierarchy of NSs with
> symlinks to actual NSs located in some random /proc/PID/ns/pid
It will be a symlink to the init process (PID 1) of that ns.
So it could stand for that namespace.
> directories. It would be better to have a global tree with actual
> directories and process directories would have symlinks to some subdirs
> in this global tree.
Do you mean create symlinks from every /proc/PID/ns/pid to a global tree?
a) we need to rebuild this global tree when pid ns changed.
It would be a burden even if we don't need to know the hierarchy info.
b) we need to prepare different tree views for different pid ns level.
> 2) The naming can be changed for even more trivial NSs traversal.
> If the hierarchy is as following --
> -- then it is more simple to traverse the tree as child NSs are all
> files in pidnsXXX/children/, not all files of the mask pidns[0-9]+.
Yeh, naming pidns($init_pid_in_ns) is good idea.
IIUC, my current proposal is the same as your opinion,
but free from children dir.
Tree view like your style:
And this patch suggested:
âââ nspid -> /proc/4652/ns/pid --ns10
âÂÂ âââ nspid -> /proc/4701/ns/pid --ns20
âââ nspid -> /proc/4706/ns/pid --ns21
âââ nspid -> /proc/4714/ns/pid --ns30
> > a) hierarchy dir:
> > use to show hierarchy infomation using dir and symlinks.
> > dirs are named as pidns($inum)
> > a symlink is created under pidns($inum), and linked to
> > that pid namespace.
> > b) refresh
> > trigger key.
> > We need to write sth to /proc/nspid/refresh,
> > then we could get hierarchy info
> > under /proc/pidns/hierarchy.