[PATCH (RESEND) 03/12] nfs: Add srcaddr member to nfs_client.

From: greearb
Date: Fri Jul 15 2011 - 13:57:13 EST


From: Ben Greear <greearb@xxxxxxxxxxxxxxx>


Signed-off-by: Ben Greear <greearb@xxxxxxxxxxxxxxx>
---
:100644 100644 2a55347... 93979a9... M fs/nfs/internal.h
:100644 100644 ce40e5c... cb41131... M fs/nfs/super.c
:100644 100644 87694ca... 9db4473... M include/linux/nfs_fs_sb.h
fs/nfs/internal.h | 5 +++++
fs/nfs/super.c | 2 ++
include/linux/nfs_fs_sb.h | 4 ++++
3 files changed, 11 insertions(+), 0 deletions(-)

diff --git a/fs/nfs/internal.h b/fs/nfs/internal.h
index 2a55347..93979a9 100644
--- a/fs/nfs/internal.h
+++ b/fs/nfs/internal.h
@@ -107,6 +107,11 @@ struct nfs_parsed_mount_data {
struct {
struct sockaddr_storage address;
size_t addrlen;
+ } srcaddr;
+
+ struct {
+ struct sockaddr_storage address;
+ size_t addrlen;
char *hostname;
u32 version;
int port;
diff --git a/fs/nfs/super.c b/fs/nfs/super.c
index ce40e5c..cb41131 100644
--- a/fs/nfs/super.c
+++ b/fs/nfs/super.c
@@ -904,6 +904,8 @@ static struct nfs_parsed_mount_data *nfs_alloc_parsed_mount_data(unsigned int ve
data->auth_flavor_len = 1;
data->version = version;
data->minorversion = 0;
+ data->srcaddr.address.ss_family = AF_UNSPEC;
+ data->srcaddr.addrlen = sizeof(data->srcaddr.address);
}
return data;
}
diff --git a/include/linux/nfs_fs_sb.h b/include/linux/nfs_fs_sb.h
index 87694ca..9db4473 100644
--- a/include/linux/nfs_fs_sb.h
+++ b/include/linux/nfs_fs_sb.h
@@ -80,6 +80,10 @@ struct nfs_client {
struct list_head cl_layouts;
#endif /* CONFIG_NFS_V4 */

+ /* If we should bind to a local IP, it should be specified below. */
+ struct sockaddr_storage srcaddr;
+ size_t srcaddrlen;
+
#ifdef CONFIG_NFS_FSCACHE
struct fscache_cookie *fscache; /* client index cache cookie */
#endif
--
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/