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



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/



Relevant Pages