Messages in this thread | | | Date | Fri, 22 Mar 2013 00:20:31 +0000 | From | Al Viro <> | Subject | Re: VFS deadlock ? |
| |
On Fri, Mar 22, 2013 at 12:12:57AM +0000, Al Viro wrote:
> See the posting upthread. We could try to kludge around that as well > (e.g. have d_ancestor() compare ->d_inode instead of dentries themselves), > but I really think it's a lousy idea only inviting further abuse. > > What we should do, IMO, is to turn /proc/<pid>/net into a honest symlink - > to ../nets/<netns ID>/net. Hell, might even make it a magical symlink > instead...
BTW, the root cause is that what used to be /proc/net became per-process. So Eric (IIRC) had added /proc/<pid>/net. Only they are not really per-process - they are per-netns. And instead of putting those per-ns trees elsewhere and having /proc/<pid>/net resolve to the right one, we got them as directories, with each entry hardlinked between all /proc/<pid>/net for processes from the same netns. Including the subdirectory ones. Oops...
Another variant is to keep cross-hardlinks for non-directories and duplicate directory dentries/inodes as we do for /proc/<pid>/net themselves.
| |