This series fixes an Oops that has been getting in the way of testing NFSv4.1 in the last few weeks. It adds a number of tracepoints around the knfsd cache and upcall mechanism in order to help debugging, then fixes a few races caused by the cache_listeners_exist() mechanism and goes back to addressing the garbage collection timeouts. Finally, it fixes the long standing issue that knfsd will drop requests without dropping the TCP connection, something which violates the NFSv4 protocol. Trond Myklebust (8): nfsd: Don't add locks to closed or closing open stateids nfsd: Add tracing to nfsd_set_fh_dentry() nfsd: Add tracepoints for exp_find_key() and exp_get_by_name() nfsd: Add tracepoints for update of the expkey and export cache entries nfsd: export upcalls must not return ESTALE when mountd is down SUNRPC/cache: Allow garbage collection of invalid cache entries sunrpc: Add tracing for cache events sunrpc: Drop the connection when the server drops a request fs/nfs/dns_resolve.c | 11 +-- fs/nfsd/export.c | 45 ++++++++--- fs/nfsd/nfs4idmap.c | 14 ++++ fs/nfsd/nfs4state.c | 73 ++++++++++-------- fs/nfsd/nfsfh.c | 13 +++- fs/nfsd/trace.h | 122 +++++++++++++++++++++++++++++ include/linux/sunrpc/cache.h | 6 +- include/trace/events/sunrpc.h | 33 ++++++++ net/sunrpc/auth_gss/svcauth_gss.c | 12 +++ net/sunrpc/cache.c | 124 +++++++++++++++++------------- net/sunrpc/svc_xprt.c | 10 +++ net/sunrpc/svcauth_unix.c | 12 +++ 12 files changed, 370 insertions(+), 105 deletions(-) -- 2.24.1