Re: [PATCH RFC] vfs: make fstatat retry on ESTALE errors fromgetattr call

From: Jeff Layton
Date: Fri Apr 13 2012 - 19:00:36 EST


On Fri, 13 Apr 2012 13:34:51 -0400
Peter Staubach <pstaubach@xxxxxxxxxxx> wrote:

> I still think that returning ESTALE to the application is just exposing a short coming in the implementation. From a path based system like stat(), the application should see either ENOENT or some sort valid return.
>

Agreed, but I'm willing to live with a solution that addresses most of
these situations, even if we can't fix them all. If retrying
indefinitely may be a problem for other filesystems then we can't
just ignore that...

> I also look at the looping from the other side. While possible, of course, I'd like to see someone construct a situation where it really happens. By this, I don't mean a thought experiment, but a real running situation.
>
> We already have evidence, in the form of the Solaris NFS client, that infinite looping does not happen in nature.
>

I'm fairly certainly that looping indefinitely would be just fine for
NFS. My main concern is those FUSE fs' that Miklos alluded to when he
reviewed your earlier set.

He said that some can return ESTALE indefinitely, and they don't
necessarily respect signals. If limiting the number of retries helps
prevent problems with those, then that's still better than the current
situation.

--
Jeff Layton <jlayton@xxxxxxxxxx>
--
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/