Re: [PATCH 0/5 RFC] Add an interface to discover relationships between namespaces
From: Michael Kerrisk (man-pages) <hidden>
Date: 2016-07-28 19:00:38
Also in:
linux-fsdevel, lkml
Hi Eric, On 07/28/2016 02:56 PM, Eric W. Biederman wrote:
"Michael Kerrisk (man-pages)" [off-list ref] writes:quoted
On 07/26/2016 10:39 PM, Andrew Vagin wrote:quoted
On Tue, Jul 26, 2016 at 09:17:31PM +0200, Michael Kerrisk (man-pages) wrote:quoted
quoted
If we want to compare two file descriptors of the current process, it is one of cases for which kcmp can be used. We can call kcmp to compare two namespaces which are opened in other processes.Is there really a use case there? I assume we're talking about the scenario where a process in one namespace opens a /proc/PID/ns/* file descriptor and passes that FD to another process via a UNIX domain socket. Is that correct? So, supposing that we want to build a map of the relationships between namespaces using the proposed kcmp() API, and there are say N namespaces? Does this mena we make (N * (N-1) / 2) calls to kcmp()?Potentially. The numbers are small enough O(N^2) isn't fatal.
Define "small", please. O(N^2) makes me nervous about what other use cases lurk out there that may get bitten by this.
Where kcmp shines is that it allows migration to happen. Inode numbers to change (which they very much will today), and still have things work.
We can keep it O(Nlog(N)) by taking advantage of not just the equality but the ordering relationship. Although Ugh.
Yes, that sounds pretty ugly...
One disadvantage of kcmp currently is that the way the ordering relationship is defined the order is not preserved over migration :(
So, does kcmp() fully solve the proble(s) at hand? It sounds like not, if I understand your last point correctly. -- Michael Kerrisk Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/ Linux/UNIX System Programming Training: http://man7.org/training/