diff options
author | Chuck Lever <chuck.lever@oracle.com> | 2008-12-05 19:03:54 -0500 |
---|---|---|
committer | J. Bruce Fields <bfields@citi.umich.edu> | 2009-01-06 11:53:54 -0500 |
commit | 8c7378fd2a5f22016542931b887a2ae98d146eaf (patch) | |
tree | e274fe98455ee385b8ba88917e7465c9332b8184 | |
parent | 3420a8c4359a189f7d854ed7075d151257415447 (diff) |
NLM: Call nsm_reboot_lookup() instead of nsm_find()
Invoke the newly introduced nsm_reboot_lookup() function in
nlm_host_rebooted() instead of nsm_find().
This introduces just one behavioral change: debugging messages
produced during reboot notification will now appear when the
NLMDBG_MONITOR flag is set, but not when the NLMDBG_HOSTCACHE flag
is set.
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
-rw-r--r-- | fs/lockd/host.c | 20 |
1 files changed, 2 insertions, 18 deletions
diff --git a/fs/lockd/host.c b/fs/lockd/host.c index dc41e46ef74c..230de93fc048 100644 --- a/fs/lockd/host.c +++ b/fs/lockd/host.c | |||
@@ -453,30 +453,14 @@ void nlm_release_host(struct nlm_host *host) | |||
453 | */ | 453 | */ |
454 | void nlm_host_rebooted(const struct nlm_reboot *info) | 454 | void nlm_host_rebooted(const struct nlm_reboot *info) |
455 | { | 455 | { |
456 | __be32 *p = (__be32 *)&info->priv.data; | ||
457 | const struct sockaddr_in sin = { | ||
458 | .sin_family = AF_INET, | ||
459 | .sin_addr.s_addr = *p, | ||
460 | }; | ||
461 | struct hlist_head *chain; | 456 | struct hlist_head *chain; |
462 | struct hlist_node *pos; | 457 | struct hlist_node *pos; |
463 | struct nsm_handle *nsm; | 458 | struct nsm_handle *nsm; |
464 | struct nlm_host *host; | 459 | struct nlm_host *host; |
465 | 460 | ||
466 | nsm = nsm_find((struct sockaddr *)&sin, sizeof(sin), | 461 | nsm = nsm_reboot_lookup(info); |
467 | info->mon, info->len, 0); | 462 | if (unlikely(nsm == NULL)) |
468 | if (nsm == NULL) { | ||
469 | dprintk("lockd: never saw rebooted peer '%.*s' before\n", | ||
470 | info->len, info->mon); | ||
471 | return; | 463 | return; |
472 | } | ||
473 | |||
474 | dprintk("lockd: nlm_host_rebooted(%.*s, %s)\n", | ||
475 | info->len, info->mon, nsm->sm_addrbuf); | ||
476 | |||
477 | /* When reclaiming locks on this peer, make sure that | ||
478 | * we set up a new notification */ | ||
479 | nsm->sm_monitored = 0; | ||
480 | 464 | ||
481 | /* Mark all hosts tied to this NSM state as having rebooted. | 465 | /* Mark all hosts tied to this NSM state as having rebooted. |
482 | * We run the loop repeatedly, because we drop the host table | 466 | * We run the loop repeatedly, because we drop the host table |