[Linux-cachefs] Re: [PATCH 0/7] Permit filesystem local caching and NFS superblock sharing [try #13]

Trond Myklebust trond.myklebust at fys.uio.no
Tue Sep 5 01:57:24 UTC 2006


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




More information about the Linux-cachefs mailing list