linux/fs/lockd
Benjamin Coddington b1ece737f4 lockd: Introduce nlmclnt_operations
NFS would enjoy the ability to modify the behavior of the NLM client's
unlock RPC task in order to delay the transmission of the unlock until IO
that was submitted under that lock has completed.  This ability can ensure
that the NLM client will always complete the transmission of an unlock even
if the waiting caller has been interrupted with fatal signal.

For this purpose, a pointer to a struct nlmclnt_operations can be assigned
in a nfs_module's nfs_rpc_ops that will install those nlmclnt_operations on
the nlm_host.  The struct nlmclnt_operations defines three callback
operations that will be used in a following patch:

nlmclnt_alloc_call - used to call back after a successful allocation of
	a struct nlm_rqst in nlmclnt_proc().

nlmclnt_unlock_prepare - used to call back during NLM unlock's
	rpc_call_prepare.  The NLM client defers calling rpc_call_start()
	until this callback returns false.

nlmclnt_release_call - used to call back when the NLM client's struct
	nlm_rqst is freed.

Signed-off-by: Benjamin Coddington <bcodding@redhat.com>
Reviewed-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
2017-04-21 10:45:01 -04:00
..
clnt4xdr.c nfsd: remove <linux/nfsd/nfsfh.h> 2014-05-06 17:54:53 -04:00
clntlock.c lockd: Introduce nlmclnt_operations 2017-04-21 10:45:01 -04:00
clntproc.c lockd: Introduce nlmclnt_operations 2017-04-21 10:45:01 -04:00
clntxdr.c nfsd: remove <linux/nfsd/nfsfh.h> 2014-05-06 17:54:53 -04:00
host.c lockd: get rid of reference-counted NSM RPC clients 2015-10-23 15:57:27 -04:00
Makefile lockd: add a /proc/fs/lockd/nlm_end_grace file 2014-09-17 16:33:13 -04:00
mon.c lockd: get rid of reference-counted NSM RPC clients 2015-10-23 15:57:27 -04:00
netns.h netns: make struct pernet_operations::id unsigned int 2016-11-18 10:59:15 -05:00
procfs.c drop redundant ->owner initializations 2016-05-29 19:08:00 -04:00
procfs.h treewide: remove redundant #include <linux/kconfig.h> 2016-10-11 15:06:33 -07:00
svc.c sched/headers: Prepare for new header dependencies before moving code to <linux/sched/signal.h> 2017-03-02 08:42:29 +01:00
svc4proc.c lockd: create NSM handles per net namespace 2015-10-12 17:31:05 -04:00
svclock.c sunrpc/lockd: fix references to the BKL 2015-01-23 10:29:12 -05:00
svcproc.c lockd: create NSM handles per net namespace 2015-10-12 17:31:05 -04:00
svcshare.c lockd: fix sparse warning in svcshare.c 2008-04-23 16:13:39 -04:00
svcsubs.c nfsd: eliminate NFSD_DEBUG 2015-04-21 16:16:02 -04:00
xdr.c lockd: xdr: Remove unused function 2015-01-15 13:46:27 -05:00
xdr4.c lockd: Introduce new-style XDR functions for NLMv4 2010-12-16 12:37:23 -05:00