On Mon, 2012-04-16 at 15:43 -0400, Jeff Layton wrote: > On Mon, 16 Apr 2012 19:33:05 +0000 > "Myklebust, Trond" <Trond.Myklebust@xxxxxxxxxx> wrote: > > > On Mon, 2012-04-16 at 13:46 -0400, Jeff Layton wrote: > > > The question about looping indefinitely really comes down to: > > > > > > 1) is a persistent ESTALE in conjunction with a successful lookup a > > > situation that we expect to be temporary. i.e. will the admin at some > > > point be able to do something about it? If not, then there's no point > > > in continuing to retry. Again, this is a situation that *really* should > > > not happen if the filesystem is doing the right thing. > > > > > > 2) If the admin can't do anything about it, is it reasonable to expect > > > that users can send a fatal signal to hung applications if this > > > situation occurs. > > > > > > We expect that that's ok in other situations to resolve hung > > > applications, so I'm not sure I understand why it wouldn't be > > > acceptable here... > > > > There are definitely potentially persistent pathological situations that > > the filesystem can't do anything about. If the point of origin for your > > pathname (for instance your current directory in the case of a relative > > pathname) is stale, then no amount of looping is going to help you to > > recover. > > > > Ok -- Peter pretty much said something similar. Retrying indefnitely > when the lookup returns ESTALE probably won't help. I'm ok with > basically letting the VFS continue to do what it does there already. If > it gets an ESTALE, it tries again with LOOKUP_REVAL set and then gives > up if that doesn't work. > > If however, the operation itself keeps returning ESTALE, are we OK to > retry indefinitely assuming that we'll break out of the loop on fatal > signals? > > For example, something like the v2 patch I sent a little while ago? Won't something like fstatat(AT_FDCWD, "", &stat, AT_EMPTY_PATH) risk looping forever there, or am I missing something? -- Trond Myklebust Linux NFS client maintainer NetApp Trond.Myklebust@xxxxxxxxxx www.netapp.com ��.n��������+%������w��{.n�����{���)��jg��������ݢj����G�������j:+v���w�m������w�������h�����٥