Fix nobh_truncate_page() to not pass stack garbage to get_block()
[safe/jmp/linux-2.6] / fs / lockd / host.c
index ed10338..99d737b 100644 (file)
@@ -15,7 +15,6 @@
 #include <linux/sunrpc/clnt.h>
 #include <linux/sunrpc/svc.h>
 #include <linux/lockd/lockd.h>
-#include <linux/lockd/sm_inter.h>
 #include <linux/mutex.h>
 
 #include <net/ipv6.h>
@@ -159,8 +158,8 @@ static struct nlm_host *nlm_lookup_host(struct nlm_lookup_host_info *ni)
                atomic_inc(&nsm->sm_count);
        else {
                host = NULL;
-               nsm = nsm_find(ni->sap, ni->salen,
-                               ni->hostname, ni->hostname_len, 1);
+               nsm = nsm_get_handle(ni->sap, ni->salen,
+                                       ni->hostname, ni->hostname_len);
                if (!nsm) {
                        dprintk("lockd: nlm_lookup_host failed; "
                                "no nsm handle\n");
@@ -453,29 +452,14 @@ void nlm_release_host(struct nlm_host *host)
  */
 void nlm_host_rebooted(const struct nlm_reboot *info)
 {
-       const struct sockaddr_in sin = {
-               .sin_family             = AF_INET,
-               .sin_addr.s_addr        = info->addr,
-       };
        struct hlist_head *chain;
        struct hlist_node *pos;
        struct nsm_handle *nsm;
        struct nlm_host *host;
 
-       nsm = nsm_find((struct sockaddr *)&sin, sizeof(sin),
-                       info->mon, info->len, 0);
-       if (nsm == NULL) {
-               dprintk("lockd: never saw rebooted peer '%.*s' before\n",
-                               info->len, info->mon);
+       nsm = nsm_reboot_lookup(info);
+       if (unlikely(nsm == NULL))
                return;
-       }
-
-       dprintk("lockd: nlm_host_rebooted(%.*s, %s)\n",
-                       info->len, info->mon, nsm->sm_addrbuf);
-
-       /* When reclaiming locks on this peer, make sure that
-        * we set up a new notification */
-       nsm->sm_monitored = 0;
 
        /* Mark all hosts tied to this NSM state as having rebooted.
         * We run the loop repeatedly, because we drop the host table