Re: [RFC PATCH 0/4] namespacefs: Proof-of-Concept
From: Eric W. Biederman
Date: Thu Nov 18 2021 - 13:55:29 EST
Adding the containers mailing list which is for discussions like this.
"Yordan Karadzhov (VMware)" <y.karadz@xxxxxxxxx> writes:
> We introduce a simple read-only virtual filesystem that provides
> direct mechanism for examining the existing hierarchy of namespaces
> on the system. For the purposes of this PoC, we tried to keep the
> implementation of the pseudo filesystem as simple as possible. Only
> two namespace types (PID and UTS) are coupled to it for the moment.
> Nevertheless, we do not expect having significant problems when
> adding all other namespace types.
>
> When fully functional, 'namespacefs' will allow the user to see all
> namespaces that are active on the system and to easily retrieve the
> specific data, managed by each namespace. For example the PIDs of
> all tasks enclosed in the individual PID namespaces. Any existing
> namespace on the system will be represented by its corresponding
> directory in namespacesfs. When a namespace is created a directory
> will be added. When a namespace is destroyed, its corresponding
> directory will be removed. The hierarchy of the directories will
> follow the hierarchy of the namespaces.
It is not correct to use inode numbers as the actual names for
namespaces.
I can not see anything else you can possibly uses as names for
namespaces.
To allow container migration between machines and similar things
the you wind up needing a namespace for your names of namespaces.
Further you talk about hierarchy and you have not added support for the
user namespace. Without the user namespace there is not hierarchy with
any namespace but the pid namespace. There is definitely no meaningful
hierarchy without the user namespace.
As far as I can tell merging this will break CRIU and container
migration in general (as the namespace of namespaces problem is not
solved).
Since you are not solving the problem of a namespace for namespaces,
yet implementing something that requires it.
Since you are implementing hierarchy and ignoring the user namespace
which gives structure and hierarchy to the namespaces.
Since this breaks existing use cases without giving a solution.
Nacked-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx>
Eric