[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20070523150602.GZ4095@ftp.linux.org.uk>
Date: Wed, 23 May 2007 16:06:02 +0100
From: Al Viro <viro@....linux.org.uk>
To: Miklos Szeredi <miklos@...redi.hu>
Cc: linux-kernel@...r.kernel.org, linux-fsdevel@...r.kernel.org,
akpm@...ux-foundation.org, torvalds@...ux-foundation.org
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@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists