]> err.no Git - linux-2.6/blobdiff - fs/nfs/callback.c
Pull bugzilla-8709 into release branch
[linux-2.6] / fs / nfs / callback.c
index 8c790af85984a8a8e11dcc3835eebde80aa85001..a796be5051bfa4886254f7bd40a9cb4f7ff4f7de 100644 (file)
@@ -14,6 +14,7 @@
 #include <linux/sunrpc/svcsock.h>
 #include <linux/nfs_fs.h>
 #include <linux/mutex.h>
+#include <linux/freezer.h>
 
 #include <net/inet_sock.h>
 
@@ -67,6 +68,7 @@ static void nfs_callback_svc(struct svc_rqst *rqstp)
        daemonize("nfsv4-svc");
        /* Process request with signals blocked, but allow SIGKILL.  */
        allow_signal(SIGKILL);
+       set_freezable();
 
        complete(&nfs_callback_info.started);
 
@@ -166,7 +168,7 @@ void nfs_callback_down(void)
 
 static int nfs_callback_authenticate(struct svc_rqst *rqstp)
 {
-       struct sockaddr_in *addr = &rqstp->rq_addr;
+       struct sockaddr_in *addr = svc_addr_in(rqstp);
        struct nfs_client *clp;
        char buf[RPC_MAX_ADDRBUFLEN];