Backport of upstream fixes to NFSD's duplicate reply cache. These have been hand-applied and tested with the same reproducer as was used to create the upstream fixes. --- Chuck Lever (8): NFSD: Refactor nfsd_reply_cache_free_locked() NFSD: Rename nfsd_reply_cache_alloc() NFSD: Replace nfsd_prune_bucket() NFSD: Refactor the duplicate reply cache shrinker NFSD: Remove svc_rqst::rq_cacherep NFSD: Rename struct svc_cacherep NFSD: Fix "start of NFS reply" pointer passed to nfsd_cache_update() NFSD: Fix checksum mismatches in the duplicate reply cache fs/nfsd/cache.h | 8 +- fs/nfsd/nfscache.c | 266 ++++++++++++++++++++++++------------- fs/nfsd/nfssvc.c | 20 ++- fs/nfsd/trace.h | 26 +++- include/linux/sunrpc/svc.h | 1 - 5 files changed, 218 insertions(+), 103 deletions(-) -- Chuck Lever