[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20080428070514.GC5882@ZenIV.linux.org.uk>
Date: Mon, 28 Apr 2008 08:05:14 +0100
From: Al Viro <viro@...IV.linux.org.uk>
To: Ian Kent <raven@...maw.net>
Cc: Andrew Morton <akpm@...ux-foundation.org>,
Kernel Mailing List <linux-kernel@...r.kernel.org>,
autofs mailing list <autofs@...ux.kernel.org>,
linux-fsdevel <linux-fsdevel@...r.kernel.org>
Subject: Re: [PATCH] autofs4 - use lookup access intent to support
recursive bind mounts
On Mon, Apr 28, 2008 at 02:38:25PM +0800, Ian Kent wrote:
>
> On Mon, 2008-04-28 at 07:22 +0100, Al Viro wrote:
> > On Mon, Apr 28, 2008 at 02:14:54PM +0800, Ian Kent wrote:
> > >
> > > Hi Andrew,
> > >
> > > For autofs maps that recursively reference other map entries in their
> > > mount point path we need to ensure that these mounts are performed
> > > prior to the current mount request being done. We've used the access
> > > system call, made just prior to performing the mount, to make this
> > > happen. In the case of bind mounts, however, the lookup flags in
> > > the path walk don't trigger a mount. To do this we need to also
> > > trigger a mount when we see the LOOKUP_ACCESS flag.
> >
> > That's too fscking bad, since ->lookup() is about to lose access to
> > nameidata *and* flags for anything but the last step. IOW, we'll need
> > cleaner solution...
>
> Spell it out for me please!
->lookup() and friends are going to stop getting struct nameidata *.
->follow_link() obviously will keep it; ->d_revalidate() should
lose the sucker, but we might have to split it in two methods (which
is probably what'll be needed in your case).
At the same time struct open_intent is going to die, BTW, but that
won't matter for autofs, AFAICT.
--
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