Please pull: git://linux-nfs.org/~bfields/linux.git tags/nfsd-5.2 This pull consists mostly of nfsd container work: Scott Mayhew revived an old api that communicates with a userspace daemon to manage some on-disk state that's used to track clients across server reboots. We've been using a usermode_helper upcall for that, but it's tough to run those with the right namespaces, so a daemon is much friendlier to container use cases. Trond fixed nfsd's handling of user credentials in user namespaces. He also contributed patches that allow containers to support different sets of NFS protocol versions. The only remaining container bug I'm aware of is that the NFS reply cache is shared between all containers. If anyone's aware of other gaps in our container support, let me know. The rest of this is miscellaneous bugfixes. --b. Arnd Bergmann (1): nfsd: avoid uninitialized variable warning J. Bruce Fields (2): nfsd: allow fh_want_write to be called twice nfsd: fh_drop_write in nfsd_unlink NeilBrown (2): sunrpc/cache: handle missing listeners better. locks: move checks from locks_free_lock() to locks_release_private() Scott Mayhew (6): nfsd: make nfs4_client_reclaim use an xdr_netobj instead of a fixed char array nfsd: un-deprecate nfsdcld nfsd: keep a tally of RECLAIM_COMPLETE operations when using nfsdcld nfsd: re-order client tracking method selection nfsd: handle legacy client tracking records sent by nfsdcld nfsd: update callback done processing Trond Myklebust (12): SUNRPC/nfs: Fix return value for nfs4_callback_compound() SUNRPC: Add a callback to initialise server requests SUNRPC: Clean up generic dispatcher code SUNRPC: Allow further customisation of RPC program registration nfsd: Add custom rpcbind callbacks for knfsd nfsd: Allow containers to set supported nfs versions SUNRPC: Cache the process user cred in the RPC server listener SUNRPC: Temporary sockets should inherit the cred from their parent lockd: Pass the user cred from knfsd when starting the lockd server SUNRPC: Fix the server AUTH_UNIX userspace mappings SUNRPC: rsi_parse() should use the current user namespace nfsd: knfsd must use the container user namespace fs/lockd/clntlock.c | 4 +- fs/lockd/svc.c | 33 +-- fs/locks.c | 12 +- fs/nfs/callback.c | 9 +- fs/nfs/callback_xdr.c | 2 +- fs/nfs/client.c | 1 + fs/nfsd/export.c | 18 +- fs/nfsd/netns.h | 11 + fs/nfsd/nfs3xdr.c | 21 +- fs/nfsd/nfs4callback.c | 9 +- fs/nfsd/nfs4idmap.c | 8 +- fs/nfsd/nfs4layouts.c | 2 +- fs/nfsd/nfs4proc.c | 3 +- fs/nfsd/nfs4recover.c | 436 +++++++++++++++++++++++++++++++++++--- fs/nfsd/nfs4state.c | 68 ++++-- fs/nfsd/nfs4xdr.c | 9 +- fs/nfsd/nfsctl.c | 42 ++-- fs/nfsd/nfsd.h | 17 +- fs/nfsd/nfssvc.c | 271 ++++++++++++++++++----- fs/nfsd/nfsxdr.c | 17 +- fs/nfsd/state.h | 8 +- fs/nfsd/vfs.c | 8 +- fs/nfsd/vfs.h | 5 +- include/linux/lockd/bind.h | 3 +- include/linux/sunrpc/svc.h | 33 +++ include/linux/sunrpc/svc_xprt.h | 4 +- include/linux/sunrpc/svcsock.h | 3 +- include/uapi/linux/nfsd/cld.h | 1 + net/sunrpc/auth_gss/svcauth_gss.c | 6 +- net/sunrpc/cache.c | 4 +- net/sunrpc/svc.c | 298 +++++++++++++++++--------- net/sunrpc/svc_xprt.c | 17 +- net/sunrpc/svcauth_unix.c | 15 +- net/sunrpc/svcsock.c | 4 +- 34 files changed, 1086 insertions(+), 316 deletions(-)