Re: [PATCH 0/5 RFC] Add an interface to discover relationships between namespaces
From: Andrew Vagin <hidden>
Date: 2016-07-26 05:28:23
Also in:
linux-fsdevel, lkml
On Mon, Jul 25, 2016 at 09:59:43AM -0500, Eric W. Biederman wrote:
"Michael Kerrisk (man-pages)" [off-list ref] writes:
[snip]
[snip]quoted
quoted
quoted
So, from my point of view, the important piece that was missing from your commit message was the note to use readlink("/proc/self/fd/%d") on the returned FDs. I think that detail needs to be part of the commit message (and also the man page text). I think it even be helpful to include the above program as part of the commit message: it helps people more quickly grasp the API.Please, please make the standard way to compare these things fstat. That is much less magic than a symlink, and a little more future proof. Possibly even kcmp.
I like the idea to use kcmp to compare namespaces. I am going to add this functionality to kcmp and describe all these in the man page.
quoted
As in fstat() to get the st_ino field, right?Both the st_ino and st_dev fields. The most likely change to support checkpoint/restart in the future is to preserve st_ino across migrations and instantiate a different instance of nsfs to hold the inode numbers from the previous machine.
It sounds tricky. BTW: Actually this is not only one places where we have this sort of problem. For example, now mount id-s are not preserved when a container is migrated. The same problem is applied to tmpfs, where inode numbers are not preserved for files.
We would need to handle the preservation carefully or else there is a chance that two namespace file descriptors (collected from different sources) with different st_dev and st_ino fields may actuall refer to the same object. Which is a long way of saying we have the st_dev field please use it, it may matter at some point. Eric