Hi Bruce- Here's the latest version of the nfsd_dispatch clean up series, building on the "non-controversial" patches I posted last week. The purpose of this series is three-fold: o Prepare to add NFS procedure tracepoints o Prepare to eventually deprecate NFSv2 o Minor optimizations of the dispatcher hot path Changes since v2: - Fixed crasher caused by invoking NFSv2 ROOT or WRITECACHE - Hoisted encoding of NFS status code into XDR Reply encoders - Numerous bug fixes, clean ups, and patch re-ordering Changes since v1: - Pulled in latest version of rq_lease_breaker cleanup - Added patches to make NFSv2 error encoding similar to NFSv3 - Clarified nfsd_dispatch's new documenting comment - Renamed a variable --- Chuck Lever (14): NFSD: Add missing NFSv2 .pc_func methods lockd: Replace PROC() macro with open code NFSACL: Replace PROC() macro with open code NFSD: Encoder and decoder functions are always present NFSD: Clean up switch statement in nfsd_dispatch() NFSD: Clean up stale comments in nfsd_dispatch() NFSD: Clean up nfsd_dispatch() variables NFSD: Refactor nfsd_dispatch() error paths NFSD: Remove vestigial typedefs NFSD: Fix .pc_release method for NFSv2 NFSD: Call NFSv2 encoders on error returns NFSD: Remove the RETURN_STATUS() macro NFSD: Map nfserr_wrongsec outside of nfsd_dispatch NFSD: Hoist status code encoding into XDR encoder functions J. Bruce Fields (1): nfsd: rq_lease_breaker cleanup fs/lockd/svc4proc.c | 248 ++++++++++++++++++++++++------- fs/lockd/svcproc.c | 250 ++++++++++++++++++++++++------- fs/nfsd/export.c | 2 +- fs/nfsd/nfs2acl.c | 160 +++++++++++++------- fs/nfsd/nfs3acl.c | 88 ++++++----- fs/nfsd/nfs3proc.c | 238 +++++++++++++++--------------- fs/nfsd/nfs3xdr.c | 25 +++- fs/nfsd/nfs4proc.c | 6 +- fs/nfsd/nfs4xdr.c | 11 +- fs/nfsd/nfsproc.c | 283 ++++++++++++++++++++---------------- fs/nfsd/nfssvc.c | 121 ++++++++------- fs/nfsd/nfsxdr.c | 52 ++++++- fs/nfsd/xdr.h | 16 +- fs/nfsd/xdr3.h | 1 + fs/nfsd/xdr4.h | 1 + include/uapi/linux/nfsacl.h | 2 + 16 files changed, 984 insertions(+), 520 deletions(-) -- Chuck Lever