namespacefs: Move the 'idr' from pid_namespace to ns_common

Each 'pid' namespace is aware of the set of tasks it currently contains.
This information is stored in an 'idr' object (radix tree), which is
used by namespacefs to expose the list of PIDs to the users via the
'tasks' file, without the need of introducing significant changes in
the implementation of the 'pid' namespace itself. However the same
functionality cannot be directly extended to all other namespace types
(uts, user, mnt ...), because the necessary information is not available.
As a first step towards making this possible, here we move the ownership
of the 'idr' object from 'struct pid_namespace' to 'struct ns_common'.
This effectively adds a capability to store ids to all namespace types.
This will allow each namespace (from any type - uts, user, mnt ...) to be
aware of the set of tasks it contains. Later we will introduce the actual
logic that will update the pid information of each namespace.

Signed-off-by: Yordan Karadzhov (VMware) <>
6 files changed