[CRIU] [PATCH 0/5 RFC] Add an interface to discover relationships between namespaces
Michael Kerrisk (man-pages)
mtk.manpages at gmail.com
Thu Jul 28 12:00:32 PDT 2016
Hi Eric,
On 07/28/2016 02:56 PM, Eric W. Biederman wrote:
> "Michael Kerrisk (man-pages)" <mtk.manpages at gmail.com> writes:
>
>> On 07/26/2016 10:39 PM, Andrew Vagin wrote:
>>> On Tue, Jul 26, 2016 at 09:17:31PM +0200, Michael Kerrisk (man-pages) wrote:
>
>>> 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/
More information about the CRIU
mailing list