From 8dead0dbd478f35fd943f3719591e5af1ac0950d Mon Sep 17 00:00:00 2001 From: Olaf Kirch Date: Wed, 4 Oct 2006 02:15:53 -0700 Subject: [PATCH] knfsd: lockd: introduce nsm_handle This patch introduces the nsm_handle, which is shared by all nlm_host objects referring to the same client. With this patch applied, all nlm_hosts from the same address will share the same nsm_handle. A future patch will add sharing by name. Note: this patch changes h_name so that it is no longer guaranteed to be an IP address of the host. When the host represents an NFS server, h_name will be the name passed in the mount call. When the host represents a client, h_name will be the name presented in the lock request received from the client. A h_name is only used for printing informational messages, this change should not be significant. Signed-off-by: Olaf Kirch Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- fs/lockd/clntlock.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'fs/lockd/clntlock.c') diff --git a/fs/lockd/clntlock.c b/fs/lockd/clntlock.c index 87e1d03e826..54e63ddef04 100644 --- a/fs/lockd/clntlock.c +++ b/fs/lockd/clntlock.c @@ -150,7 +150,8 @@ u32 nlmclnt_grant(const struct sockaddr_in *addr, const struct nlm_lock *lock) static void nlmclnt_prepare_reclaim(struct nlm_host *host) { down_write(&host->h_rwsem); - host->h_monitored = 0; + if (host->h_nsmhandle) + host->h_nsmhandle->sm_monitored = 0; host->h_state++; host->h_nextrebind = 0; nlm_rebind_host(host); -- cgit v1.2.3