On Sat, 2011-06-18 at 00:29 +0100, David Howells wrote:
> Hi Ian,
> 
> At the top of autofs4_d_automount() you have:
> 
>       /* The daemon never triggers a mount. */
>       if (autofs4_oz_mode(sbi))
>               return NULL;
> 
> I think this should be returning -EISDIR.  If by some chance we do get here in
> Oz mode, this will cause the kernel to just loop forever.  A return of NULL is
> meant to indicate that you got a collision and that it should recheck the
> mountpoint - but it does not advance path in follow_managed().

I think your mistaken this time.

That was done to work around the fact that -EISDIR can't be returned in
the case where the dentry doesn't and (and won't have) a explicit mount
on it without entering an ELOOP situation. IIRC I needed to return NULL
here and handle it in ->d_manage() to make this work.

> 
> -EISDIR is the return to indicate this is to be treated as a normal directory.

That would be the better way to do it but the logic doesn't allow it
ATM.

> 
> David


_______________________________________________
autofs mailing list
autofs@linux.kernel.org
http://linux.kernel.org/mailman/listinfo/autofs

Reply via email to