diff options
author | Olaf Kirch <okir@suse.de> | 2006-10-04 05:15:55 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-10-04 10:55:17 -0400 |
commit | 5c8dd29ca7fc7483690cef4306549742d534f2a2 (patch) | |
tree | edf51e354535448ea6b57a59358d9f28c556684c /include/linux | |
parent | f0737a39a64a9df32bb045c54e1cdf6cecdcbdd7 (diff) |
[PATCH] knfsd: lockd: Make nlm_host_rebooted use the nsm_handle
This patch makes the SM_NOTIFY handling understand and use the nsm_handle.
To make it a bit clear what is happening:
nlmclent_prepare_reclaim and nlmclnt_finish_reclaim
get open-coded into 'reclaimer'
The result is tidied up.
Then some of that functionality is moved out into nlm_host_rebooted (which
calls nlmclnt_recovery which starts a thread which runs reclaimer).
Also host_rebooted now finds an nsm_handle rather than a host, then then
iterates over all hosts and deals with each host that shares that nsm_handle.
Signed-off-by: Olaf Kirch <okir@suse.de>
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 'include/linux')
-rw-r--r-- | include/linux/lockd/lockd.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/include/linux/lockd/lockd.h b/include/linux/lockd/lockd.h index ab2ffc8a0b44..a41eb841428b 100644 --- a/include/linux/lockd/lockd.h +++ b/include/linux/lockd/lockd.h | |||
@@ -164,7 +164,7 @@ struct nlm_wait * nlmclnt_prepare_block(struct nlm_host *host, struct file_lock | |||
164 | void nlmclnt_finish_block(struct nlm_wait *block); | 164 | void nlmclnt_finish_block(struct nlm_wait *block); |
165 | int nlmclnt_block(struct nlm_wait *block, struct nlm_rqst *req, long timeout); | 165 | int nlmclnt_block(struct nlm_wait *block, struct nlm_rqst *req, long timeout); |
166 | u32 nlmclnt_grant(const struct sockaddr_in *addr, const struct nlm_lock *); | 166 | u32 nlmclnt_grant(const struct sockaddr_in *addr, const struct nlm_lock *); |
167 | void nlmclnt_recovery(struct nlm_host *, u32); | 167 | void nlmclnt_recovery(struct nlm_host *); |
168 | int nlmclnt_reclaim(struct nlm_host *, struct file_lock *); | 168 | int nlmclnt_reclaim(struct nlm_host *, struct file_lock *); |
169 | 169 | ||
170 | /* | 170 | /* |
@@ -179,7 +179,7 @@ struct nlm_host * nlm_get_host(struct nlm_host *); | |||
179 | void nlm_release_host(struct nlm_host *); | 179 | void nlm_release_host(struct nlm_host *); |
180 | void nlm_shutdown_hosts(void); | 180 | void nlm_shutdown_hosts(void); |
181 | extern struct nlm_host *nlm_find_client(void); | 181 | extern struct nlm_host *nlm_find_client(void); |
182 | extern void nlm_host_rebooted(const struct sockaddr_in *, const struct nlm_reboot *); | 182 | extern void nlm_host_rebooted(const struct sockaddr_in *, const char *, int, u32); |
183 | struct nsm_handle *nsm_find(const struct sockaddr_in *, const char *, int); | 183 | struct nsm_handle *nsm_find(const struct sockaddr_in *, const char *, int); |
184 | void nsm_release(struct nsm_handle *); | 184 | void nsm_release(struct nsm_handle *); |
185 | 185 | ||