Re: [PATCH RFC v3] vfs: make fstatat retry once on ESTALE errors from getattr call

From: Miklos Szeredi
Date: Mon Apr 23 2012 - 11:28:15 EST

Jeff Layton <jlayton@xxxxxxxxxx> writes:

> Ok, but again, that only applies to the lookup. It has no bearing on
> the subsequent operation. For instance, if we're doing:
> rename("/foo", "/bar");
> ...and another client is simultaneously doing:
> creat("/bar/baz", 0600);
> ...and we get back ESTALE from the server on the create because the
> "old" /bar got replaced after the lookup of it. Then it seems like
> returning -ENOENT would not be correct since there was never a time
> where /bar didn't exist...

It may not be "correct" according to some standard. But it's what Linux
does since day one on *all* filesystems. And probably other OS's that
have remotely scalable lookup routines.

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at