From: Chuck Lever Date: Mon, 10 Dec 2007 14:58:51 -0500 NFS: Change nfs_get_client() to take sockaddr * Adjust arguments and callers of nfs_get_client() to pass a "struct sockaddr *" instead of "struct sockaddr_in *" to support non-IPv4 addresses. Signed-off-by: Chuck Lever Cc: Aurelien Charbon Signed-off-by: Trond Myklebust --- fs/nfs/client.c | 11 +++++------ 1 files changed, 5 insertions(+), 6 deletions(-) diff --git a/fs/nfs/client.c b/fs/nfs/client.c index 0593224..6e12b77 100644 --- a/fs/nfs/client.c +++ b/fs/nfs/client.c @@ -97,7 +97,7 @@ struct rpc_program nfsacl_program = { struct nfs_client_initdata { const char *hostname; - const struct sockaddr_in *addr; + const struct sockaddr *addr; size_t addrlen; const struct nfs_rpc_ops *rpc_ops; }; @@ -308,9 +308,8 @@ static struct nfs_client *nfs_get_client(const struct nfs_client_initdata *cl_in struct nfs_client *clp, *new = NULL; int error; - dprintk("--> nfs_get_client(%s,"NIPQUAD_FMT":%d,%u)\n", - cl_init->hostname ?: "", NIPQUAD(cl_init->addr->sin_addr), - cl_init->addr->sin_port, cl_init->rpc_ops->version); + dprintk("--> nfs_get_client(%s,v%u)\n", + cl_init->hostname ?: "", cl_init->rpc_ops->version); /* see if the client already exists */ do { @@ -581,7 +580,7 @@ static int nfs_init_server(struct nfs_server *server, { struct nfs_client_initdata cl_init = { .hostname = data->nfs_server.hostname, - .addr = &data->nfs_server.address, + .addr = (const struct sockaddr *)&data->nfs_server.address, .addrlen = sizeof(data->nfs_server.address), .rpc_ops = &nfs_v2_clientops, }; @@ -935,7 +934,7 @@ static int nfs4_set_client(struct nfs_server *server, { struct nfs_client_initdata cl_init = { .hostname = hostname, - .addr = addr, + .addr = (const struct sockaddr *)addr, .addrlen = sizeof(*addr), .rpc_ops = &nfs_v4_clientops, };