aboutsummaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorChuck Lever <chuck.lever@oracle.com>2008-01-11 17:09:44 -0500
committerTrond Myklebust <Trond.Myklebust@netapp.com>2008-01-30 02:06:06 -0500
commit52c4044d00fe703eb3fb18e0d8dfd1c196eb28be (patch)
treee8ff891bc68ee10ebe3d067b13ba31e2deb645bb /include/linux
parent86d61d8638ddf9cdf87df26c7fa69b2804425fbe (diff)
NLM: Introduce external nlm_host set-up and tear-down functions
We would like to remove the per-lock-operation nlm_lookup_host() call from nlmclnt_proc(). The new architecture pins an nlm_host structure to each NFS client superblock that has the "lock" mount option set. The NFS client passes in the pinned nlm_host structure during each call to nlmclnt_proc(). NFS client unmount processing "puts" the nlm_host so it can be garbage- collected later. This patch introduces externally callable NLM functions that handle mount-time nlm_host set up and tear-down. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/lockd/bind.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/include/linux/lockd/bind.h b/include/linux/lockd/bind.h
index 6f1637c61e1..ad5402f5456 100644
--- a/include/linux/lockd/bind.h
+++ b/include/linux/lockd/bind.h
@@ -35,6 +35,13 @@ extern struct nlmsvc_binding * nlmsvc_ops;
/*
* Functions exported by the lockd module
*/
+extern struct nlm_host *nlmclnt_init(const char *server_name,
+ const struct sockaddr *server_address,
+ size_t server_addrlen,
+ unsigned short protocol,
+ u32 nfs_version);
+extern void nlmclnt_done(struct nlm_host *host);
+
extern int nlmclnt_proc(struct inode *, int, struct file_lock *);
extern int lockd_up(int proto);
extern void lockd_down(void);