On Wed, 2016-05-04 at 20:03 -0400, jeffm@xxxxxxxx wrote: > From: Jeff Mahoney <jeffm@xxxxxxxx> > > Hi Ian - > > We recently encountered an issue where a client would all of a sudden > start returning ELOOP for anything involving crossing an autofs mount. > We tracked it down to two bugs, one which obscured the other. The > first > is that we were not properly updating the map age for yp maps when we > retry > the lookup with dots instead of underscores. The second is that it is > possible under several situations to return success when there was a > failure in lookup_nss_mount. In this particular case, it was the only > map in the list and since the age wasn't update, it was skipped. Then > we exit the while loop with ret == 0, ultimately returning success to > the caller. Autofs would tell the kernel it succeeded, the kernel > would > retry the lookup, and we'd loop until we hit the kernel loop limit > (40). > > These two patches fix each of the issues. OK, that sounds good. I'll have a look at the code to make sure I understand what's going on before adding these to the list of patches I have. That list is getting a bit large now so I'll likely be committing them soonish but I can't say yet when I'll release 5.1.2. Up until now I thought that the source of the ELOOP returns that some people have seen were due to incorrect returns of in kernel mounted checks where mounts were present in other namespaces. My most recent attempt at resolving that had a positive response from a tester here on the list but another tester experienced file system corruption. I'm totally at mystified by this so I'm a bit stuck at the moment. > > Thanks, > > -Jeff > > Jeff Mahoney (2): > autofs: fix yp map age not updated in s/_/./g case > autofs: properly handle errors in lookup_nss_mount > > daemon/lookup.c | 5 ++++- > modules/lookup_yp.c | 17 ++++++++--------- > 2 files changed, 12 insertions(+), 10 deletions(-) > -- To unsubscribe from this list: send the line "unsubscribe autofs" in