This is a set of clean-up patches and minor optimizations for NFSD. I happened upon these unrelated changes while addressing recent bugs. --- Chuck Lever (12): SUNRPC: Optimize svc_process() SUNRPC: Parametrize how much of argsize should be zeroed NFSD: Reduce amount of struct nfsd4_compoundargs that needs clearing SUNRPC: Clarify comment that documents svc_max_payload() NFSD: Refactor common code out of dirlist helpers NFSD: Use xdr_inline_decode() to decode NFSv3 symlinks NFSD: Clean up WRITE arg decoders SUNRPC: Fix typo in xdr_buf_subsegment's kdoc comment NFSD: Clean up nfs4svc_encode_compoundres() NFSD: Remove "inline" directives on op_rsize_bop helpers NFSD: Remove unused nfsd4_compoundargs::cachetype field NFSD: Pack struct nfsd4_compoundres fs/lockd/svc4proc.c | 24 ++++++++ fs/lockd/svcproc.c | 24 ++++++++ fs/nfs/callback_xdr.c | 1 + fs/nfsd/nfs2acl.c | 5 ++ fs/nfsd/nfs3acl.c | 3 + fs/nfsd/nfs3proc.c | 32 +++++++--- fs/nfsd/nfs3xdr.c | 18 ++---- fs/nfsd/nfs4proc.c | 123 +++++++++++++++++++++++-------------- fs/nfsd/nfs4xdr.c | 65 +++++++++++++++----- fs/nfsd/nfsproc.c | 28 ++++++--- fs/nfsd/nfsxdr.c | 4 +- fs/nfsd/xdr4.h | 6 +- include/linux/sunrpc/svc.h | 1 + include/linux/sunrpc/xdr.h | 2 + net/sunrpc/svc.c | 34 +++++----- net/sunrpc/xdr.c | 24 +++++++- 16 files changed, 278 insertions(+), 116 deletions(-) -- Chuck Lever