nfsd: fix IPv6 address handling in the DRC
authorJeff Layton <jlayton@redhat.com>
Mon, 28 Jan 2013 19:41:07 +0000 (14:41 -0500)
committerJ. Bruce Fields <bfields@redhat.com>
Mon, 4 Feb 2013 14:16:19 +0000 (09:16 -0500)
commit7b9e8522a65886d8ae168547a67c3617b6ba83f1
tree285c0d08f3e967abb7e3c33e4846da353270183b
parent885c91f74662404dc179b8775494df383479311c
nfsd: fix IPv6 address handling in the DRC

Currently, it only stores the first 16 bytes of any address. struct
sockaddr_in6 is 28 bytes however, so we're currently ignoring the last
12 bytes of the address.

Expand the c_addr field to a sockaddr_in6, and cast it to a sockaddr_in
as necessary. Also fix the comparitor to use the existing RPC
helpers for this.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
fs/nfsd/cache.h
fs/nfsd/nfscache.c
include/linux/sunrpc/clnt.h