Re: [PATCH 0/7] Permit filesystem local caching and NFS superblocksharing [try #13]

From: Trond Myklebust
Date: Mon Sep 04 2006 - 21:54:44 EST


On Mon, 2006-09-04 at 21:24 +0800, Ian Kent wrote:

> > [pid 3838] mkdir("/net", 0555) = -1 EEXIST (File exists)
> > [pid 3838] stat64("/net", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
> > [pid 3838] mkdir("/net/trash", 0555) = -1 EEXIST (File exists)
> > [pid 3838] stat64("/net/trash", {st_mode=S_IFDIR|0555, st_size=1024, ...}) = 0
> > [pid 3838] mkdir("/net/trash/mnt", 0555) = -1 EACCES (Permission denied)
>
> 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.

Why the hell is it doing a mkdir in the first place? ...and why the hell
is it not able to cope with EACCES? The latter is hardly an unlikely
reply: it means that the automounter should not be doing this in the
first place, 'cos it doesn't have the privileges. That is not the same
as saying that it doesn't have the privileges to do a lookup.

Trond

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/