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

From: Ian Kent
Date: Mon Sep 04 2006 - 22:53:12 EST


On Mon, 2006-09-04 at 21:57 -0400, Trond Myklebust wrote:
> 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.

Why the hell shouldn't it be able to do an mkdir!

It is coping with the EACCESS return by not mounting the filesystem
which is the correct response in this case.



-
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/