[PATCH 0/7] Permit filesystem local caching and NFS superblock
sharing [try #13]
Ian Kent
raven at themaw.net
Tue Sep 5 00:11:14 EDT 2006
On Mon, 2006-09-04 at 14:46 +0100, David Howells wrote:
> Ian Kent <raven at themaw.net> wrote:
>
> > This is the point I'm trying to make.
> > I'm able to reproduce this with exports that don't have "nohide".
> > The mkdir used to return EEXIST, possibly before getting to the EACCES
> > test. It appears to be a change in semantic behavior and I can't see
> > where it is coming from. autofs expects an EEXIST but not an EACCES and
> > so doesn't perform the mount. I could ignore the EACCES but that would
> > be cheating.
>
> Here's something you can try: Look in fs/nfs/dir.c. Find nfs_lookup(). In
> there, find the following lines:
>
> /* If we're doing an exclusive create, optimize away the lookup */
> if (nfs_is_exclusive_create(dir, nd))
> goto no_entry;
>
> Comment that bit out and see what the effect it.
Yes.
Commenting this out results in the expected behavior.
No doubt this is because the following NFS lookup to the server returns
EEXIST which is then returned to userspace.
Ian
More information about the NFSv4
mailing list