diff options
author | NeilBrown <neilb@suse.de> | 2006-10-02 05:17:53 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-10-02 10:57:18 -0400 |
commit | 4a3ae42dc312dbdffee803efaf393421b79f997a (patch) | |
tree | d18249c89fc1a5ab273beec1639cde769a0b6e96 /fs/lockd/clntlock.c | |
parent | 7dcf91ec6698fe8564ad91bbe42740aacaa0d9ee (diff) |
[PATCH] knfsd: Correctly handle error condition from lockd_up
If lockd_up fails - what should we expect? Do we have to later call
lockd_down?
Well the nfs client thinks "no", the nfs server thinks "yes". lockd thinks
"yes".
The only answer that really makes sense is "no" !!
So:
Make lockd_up only increment nlmsvc_users on success.
Make nfsd handle errors from lockd_up properly.
Make sure lockd_up(0) never fails when lockd is running
so that the 'reclaimer' call to lockd_up doesn't need to
be error checked.
Cc: "J. Bruce Fields" <bfields@fieldses.org>
Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'fs/lockd/clntlock.c')
-rw-r--r-- | fs/lockd/clntlock.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/lockd/clntlock.c b/fs/lockd/clntlock.c index 6abb465b650f..87e1d03e8267 100644 --- a/fs/lockd/clntlock.c +++ b/fs/lockd/clntlock.c | |||
@@ -202,7 +202,7 @@ reclaimer(void *ptr) | |||
202 | /* This one ensures that our parent doesn't terminate while the | 202 | /* This one ensures that our parent doesn't terminate while the |
203 | * reclaim is in progress */ | 203 | * reclaim is in progress */ |
204 | lock_kernel(); | 204 | lock_kernel(); |
205 | lockd_up(0); | 205 | lockd_up(0); /* note: this cannot fail as lockd is already running */ |
206 | 206 | ||
207 | nlmclnt_prepare_reclaim(host); | 207 | nlmclnt_prepare_reclaim(host); |
208 | /* First, reclaim all locks that have been marked. */ | 208 | /* First, reclaim all locks that have been marked. */ |