[PATCH (RESEND) 08/12] nfs: Pass srcaddr into mount request.

From: greearb
Date: Fri Jul 15 2011 - 13:58:07 EST


From: Ben Greear <greearb@xxxxxxxxxxxxxxx>

This starts tying the srcaddr logic together.

Signed-off-by: Ben Greear <greearb@xxxxxxxxxxxxxxx>
---
:100644 100644 60a36a2... eaf9c66... M fs/nfs/internal.h
:100644 100644 d4c2d6b... 5ca6e12... M fs/nfs/mount_clnt.c
:100644 100644 cb41131... e45f616... M fs/nfs/super.c
fs/nfs/internal.h | 1 +
fs/nfs/mount_clnt.c | 1 +
fs/nfs/super.c | 2 ++
3 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/fs/nfs/internal.h b/fs/nfs/internal.h
index 60a36a2..eaf9c66 100644
--- a/fs/nfs/internal.h
+++ b/fs/nfs/internal.h
@@ -133,6 +133,7 @@ struct nfs_parsed_mount_data {
/* mount_clnt.c */
struct nfs_mount_request {
struct sockaddr *sap;
+ struct sockaddr *srcaddr;
size_t salen;
char *hostname;
char *dirpath;
diff --git a/fs/nfs/mount_clnt.c b/fs/nfs/mount_clnt.c
index d4c2d6b..5ca6e12 100644
--- a/fs/nfs/mount_clnt.c
+++ b/fs/nfs/mount_clnt.c
@@ -155,6 +155,7 @@ int nfs_mount(struct nfs_mount_request *info)
struct rpc_create_args args = {
.net = &init_net,
.protocol = info->protocol,
+ .saddress = info->srcaddr,
.address = info->sap,
.addrsize = info->salen,
.servername = info->hostname,
diff --git a/fs/nfs/super.c b/fs/nfs/super.c
index cb41131..e45f616 100644
--- a/fs/nfs/super.c
+++ b/fs/nfs/super.c
@@ -1600,6 +1600,8 @@ static int nfs_try_mount(struct nfs_parsed_mount_data *args,
struct nfs_mount_request request = {
.sap = (struct sockaddr *)
&args->mount_server.address,
+ .salen = args->mount_server.addrlen,
+ .srcaddr = (struct sockaddr *)&args->srcaddr.address,
.dirpath = args->nfs_server.export_path,
.protocol = args->mount_server.protocol,
.fh = root_fh,
--
1.7.3.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/