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-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html