SUNRPC: svc_setup_socket() gets protocol family from socket
authorChuck Lever <chuck.lever@oracle.com>
Thu, 19 Mar 2009 00:46:13 +0000 (20:46 -0400)
committerTrond Myklebust <Trond.Myklebust@netapp.com>
Sat, 28 Mar 2009 19:54:23 +0000 (15:54 -0400)
Since the sv_family field is going away, modify svc_setup_socket() to
extract the protocol family from the passed-in socket instead of from
the passed-in svc_serv struct.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
net/sunrpc/svcsock.c

index d00583c1cd04d39475537218f571f4e6be56a1c1..d00bc330774544e9aadfb8eca4ab9ba4fcdfb8c8 100644 (file)
@@ -1122,7 +1122,7 @@ static struct svc_sock *svc_setup_socket(struct svc_serv *serv,
 
        /* Register socket with portmapper */
        if (*errp >= 0 && pmap_register)
-               *errp = svc_register(serv, serv->sv_family, inet->sk_protocol,
+               *errp = svc_register(serv, inet->sk_family, inet->sk_protocol,
                                     ntohs(inet_sk(inet)->sport));
 
        if (*errp < 0) {
@@ -1145,13 +1145,13 @@ static struct svc_sock *svc_setup_socket(struct svc_serv *serv,
 
        /*
         * We start one listener per sv_serv.  We want AF_INET
-        * requests to be automatically shunted to our AF_INET6
+        * requests to be automatically shunted to our PF_INET6
         * listener using a mapped IPv4 address.  Make sure
         * no-one starts an equivalent IPv4 listener, which
         * would steal our incoming connections.
         */
        val = 0;
-       if (serv->sv_family == AF_INET6)
+       if (inet->sk_family == PF_INET6)
                kernel_setsockopt(sock, SOL_IPV6, IPV6_V6ONLY,
                                        (char *)&val, sizeof(val));