From f0ab485d1998f0242c42bf92a8cda5225159de63 Mon Sep 17 00:00:00 2001 From: NeilBrown Date: Tue, 17 Oct 2006 00:10:17 -0700 Subject: [PATCH] --- yaml --- r: 39738 b: refs/heads/master c: 4481d1038f4116f3f5c307d919e6dc815a3acbb9 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/fs/lockd/svcsubs.c | 11 ++++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 4603445f8a3b..895f511131b9 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 0942176f4353ffebcd6e3f95abce9fd8e24f2cb1 +refs/heads/master: 4481d1038f4116f3f5c307d919e6dc815a3acbb9 diff --git a/trunk/fs/lockd/svcsubs.c b/trunk/fs/lockd/svcsubs.c index 514f5f20701e..c5f9113cdc70 100644 --- a/trunk/fs/lockd/svcsubs.c +++ b/trunk/fs/lockd/svcsubs.c @@ -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; } /*