On Sat, 2011-01-15 at 11:11 +0000, David Howells wrote:
> Hi Ian,
> 
> I've just noticed that autofs4_d_automount() can change the dentry pointer in
> the path parameter (via autofs4_mountpoint_changed()).  Is this just doing a
> straight substitution of one dentry for its equivalent?  I don't think it'll
> be a problem for follow_automount() and follow_managed(), provided the dentry
> stays in the same namespace - but if we eliminate the vfsmount pointer and
> just pass the dentry pointer in to d_automount(), you won't be able to do this
> anymore.  Would it work to simply return NULL here and hope the recheck picks
> up the substitution?

I don't think so.

It happens if the mount point dentry is removed and recreated during a
callback to the daemon so a d_lookup() then returns the replacement
dentry. If the vfsmount isn't available we would need to be able to
return the new dentry in much the same as ->lookup() will use a
replacement dentry if it is returned. I guess that's still a problem if
we need to return a vfsmount or ERR_PTR or NULL.

Ian


_______________________________________________
autofs mailing list
[email protected]
http://linux.kernel.org/mailman/listinfo/autofs

Reply via email to