]> err.no Git - linux-2.6/blobdiff - fs/lockd/svcsubs.c
[PATCH] knfsd: Fix bug in recent lockd patches that can cause reclaim to fail
[linux-2.6] / fs / lockd / svcsubs.c
index 514f5f20701ea3d3cc8ba0410dd8fd3098e71c87..c5f9113cdc70e89d84c4789e8c1271bf1e52a7b6 100644 (file)
@@ -324,7 +324,16 @@ nlmsvc_same_host(struct nlm_host *host, struct nlm_host *other)
 static int
 nlmsvc_is_client(struct nlm_host *host, struct nlm_host *dummy)
 {
-       return host->h_server;
+       if (host->h_server) {
+               /* we are destroying locks even though the client
+                * hasn't asked us too, so don't unmonitor the
+                * client
+                */
+               if (host->h_nsmhandle)
+                       host->h_nsmhandle->sm_sticky = 1;
+               return 1;
+       } else
+               return 0;
 }
 
 /*