Messages in this thread | | | From | Miklos Szeredi <> | Subject | Re: [PATCH RFC v3] vfs: make fstatat retry once on ESTALE errors from getattr call | Date | Mon, 23 Apr 2012 17:28:19 +0200 |
| |
Jeff Layton <jlayton@redhat.com> 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.
Thanks, Miklos
| |