diff options
author | Chuck Lever <chuck.lever@oracle.com> | 2008-01-11 17:09:44 -0500 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2008-01-30 02:06:06 -0500 |
commit | 52c4044d00fe703eb3fb18e0d8dfd1c196eb28be (patch) | |
tree | e8ff891bc68ee10ebe3d067b13ba31e2deb645bb /include/linux/lockd | |
parent | 86d61d8638ddf9cdf87df26c7fa69b2804425fbe (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/lockd')
-rw-r--r-- | include/linux/lockd/bind.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/include/linux/lockd/bind.h b/include/linux/lockd/bind.h index 6f1637c61e10..ad5402f5456b 100644 --- a/include/linux/lockd/bind.h +++ b/include/linux/lockd/bind.h | |||
@@ -35,6 +35,13 @@ extern struct nlmsvc_binding * nlmsvc_ops; | |||
35 | /* | 35 | /* |
36 | * Functions exported by the lockd module | 36 | * Functions exported by the lockd module |
37 | */ | 37 | */ |
38 | extern struct nlm_host *nlmclnt_init(const char *server_name, | ||
39 | const struct sockaddr *server_address, | ||
40 | size_t server_addrlen, | ||
41 | unsigned short protocol, | ||
42 | u32 nfs_version); | ||
43 | extern void nlmclnt_done(struct nlm_host *host); | ||
44 | |||
38 | extern int nlmclnt_proc(struct inode *, int, struct file_lock *); | 45 | extern int nlmclnt_proc(struct inode *, int, struct file_lock *); |
39 | extern int lockd_up(int proto); | 46 | extern int lockd_up(int proto); |
40 | extern void lockd_down(void); | 47 | extern void lockd_down(void); |