[prev in list] [next in list] [prev in thread] [next in thread]
List: linux-nfsv4
Subject: [PATCH 2/4] mount.nfs: Keep server's address in nfsmount_info
From: Chuck Lever <chuck.lever () oracle ! com>
Date: 2009-09-27 2:08:03
Message-ID: 20090927020802.3700.55575.stgit () matisse ! 1015granger ! net
[Download RAW message or body]
We want to pass the server's address around. Put it in the mount context
structure.
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
---
utils/mount/stropts.c | 13 +++++++------
1 files changed, 7 insertions(+), 6 deletions(-)
diff --git a/utils/mount/stropts.c b/utils/mount/stropts.c
index 3eb661e..76bbefd 100644
--- a/utils/mount/stropts.c
+++ b/utils/mount/stropts.c
@@ -80,6 +80,8 @@ struct nfsmount_info {
*node, /* mounted-on dir */
*type; /* "nfs" or "nfs4" */
char *hostname; /* server's hostname */
+ struct sockaddr_storage address; /* server's address */
+ socklen_t salen; /* size of server's address */
struct mount_options *options; /* parsed mount options */
char **extra_opts; /* string for /etc/mtab */
@@ -263,14 +265,13 @@ static int nfs_append_sloppy_option(struct mount_options *options)
*/
static int nfs_validate_options(struct nfsmount_info *mi)
{
- struct sockaddr_storage dummy;
- struct sockaddr *sap = (struct sockaddr *)&dummy;
- socklen_t salen = sizeof(dummy);
+ struct sockaddr *sap = (struct sockaddr *)&mi->address;
if (!nfs_parse_devname(mi->spec, &mi->hostname, NULL))
return 0;
- if (!nfs_name_to_address(mi->hostname, sap, &salen))
+ mi->salen = sizeof(mi->address);
+ if (!nfs_name_to_address(mi->hostname, sap, &mi->salen))
return 0;
if (!nfs_nfs_version(mi->options, &mi->version))
@@ -279,7 +280,7 @@ static int nfs_validate_options(struct nfsmount_info *mi)
mi->version = 4;
if (mi->version == 4) {
- if (!nfs_append_clientaddr_option(sap, salen, mi->options))
+ if (!nfs_append_clientaddr_option(sap, mi->salen, mi->options))
return 0;
} else {
if (!nfs_fix_mounthost_option(mi->options))
@@ -291,7 +292,7 @@ static int nfs_validate_options(struct nfsmount_info *mi)
if (!nfs_append_sloppy_option(mi->options))
return 0;
- if (!nfs_append_addr_option(sap, salen, mi->options))
+ if (!nfs_append_addr_option(sap, mi->salen, mi->options))
return 0;
/*
_______________________________________________
NFSv4 mailing list
NFSv4@linux-nfs.org
http://linux-nfs.org/cgi-bin/mailman/listinfo/nfsv4
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic