Messages in this thread | | | Date | Wed, 23 May 2007 16:06:02 +0100 | From | Al Viro <> | Subject | Re: [RFC PATCH] file as directory |
| |
On Wed, May 23, 2007 at 04:32:37PM +0200, Miklos Szeredi wrote: > > Umm... It is related to detached subtrees, but I'm not sure if it is what > > you are thinking about. > > I was thinking of a similar one by Mike Waychison. It had the problem > of requiring a spinlock for mntget/mntput. It was also different in > that it did not gradually dissolve detached trees, but kept them as > whole blobs until the last ref went away.
Here the spinlock is needed only when mnt_busy goes to 0, so presumably it won't be a serious problem on more or less common setups; however, it certainly would need serious profiling.
> How will this work with copy_tree() and namespace duplication, which > currently walk the tree with only namespace_sem held?
Easy - grab namespace_sem, grab vfsmount_lock, walk the subtree and bump mnt_busy on everything (by 1 + number of non-busy children). Then drop vfsmount_lock and do as usual, dropping references in tree being copied as you go. Nothing will get attached or detached due to namespace_sem, nothing will get evicted by anybody other than you since you've got all that stuff pinned down. End of story... - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |