All of lore.kernel.org
 help / color / mirror / Atom feed
* autofs4_d_automount() can change path->dentry param
@ 2011-01-15 11:11 David Howells
  2011-01-17  0:07 ` Ian Kent
  0 siblings, 1 reply; 2+ messages in thread
From: David Howells @ 2011-01-15 11:11 UTC (permalink / raw)
  To: raven, viro; +Cc: dhowells, autofs


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?

David

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: autofs4_d_automount() can change path->dentry param
  2011-01-15 11:11 autofs4_d_automount() can change path->dentry param David Howells
@ 2011-01-17  0:07 ` Ian Kent
  0 siblings, 0 replies; 2+ messages in thread
From: Ian Kent @ 2011-01-17  0:07 UTC (permalink / raw)
  To: David Howells; +Cc: autofs, viro

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

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2011-01-17  0:07 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-01-15 11:11 autofs4_d_automount() can change path->dentry param David Howells
2011-01-17  0:07 ` Ian Kent

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.