Re: VFS deadlock ?

From: Al Viro
Date: Thu Mar 21 2013 - 20:20:38 EST


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.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/