diff options
author | Chuck Lever <chuck.lever@oracle.com> | 2008-07-15 13:34:49 -0400 |
---|---|---|
committer | Steve Dickson <steved@redhat.com> | 2008-07-15 13:34:49 -0400 |
commit | 1adb0e018f57079c6e95a9bdbf904361354b0527 (patch) | |
tree | ca5068758dca715cf6e6470ba5ae6a0e108cc592 | |
parent | da8a62dc65d2d105a3304dd41b6bdae5a5ddc742 (diff) | |
download | nfs-utils-1adb0e018f57079c6e95a9bdbf904361354b0527.tar.gz nfs-utils-1adb0e018f57079c6e95a9bdbf904361354b0527.tar.xz nfs-utils-1adb0e018f57079c6e95a9bdbf904361354b0527.zip |
Change the append_addr_option() function to support sending either IPv4
or IPv6 addresses to the kernel via the "addr=" option.
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
-rw-r--r-- | utils/mount/stropts.c | 21 |
1 files changed, 6 insertions, 15 deletions
diff --git a/utils/mount/stropts.c b/utils/mount/stropts.c index a1ffca2..f856998 100644 --- a/utils/mount/stropts.c +++ b/utils/mount/stropts.c @@ -237,19 +237,12 @@ out_err: * Returns 1 if 'addr=' option appended successfully; * otherwise zero. */ -static int append_addr_option(struct sockaddr_in *saddr, - struct mount_options *options) +static int nfs_append_addr_option(const struct sockaddr *sap, + socklen_t salen, + struct mount_options *options) { - char new_option[24]; - po_remove_all(options, "addr"); - - snprintf(new_option, sizeof(new_option) - 1, - "addr=%s", inet_ntoa(saddr->sin_addr)); - - if (po_append(options, new_option) == PO_SUCCEEDED) - return 1; - return 0; + return nfs_append_generic_address_option(sap, salen, "addr", options); } /* @@ -358,10 +351,8 @@ static int nfs_validate_options(struct nfsmount_info *mi) if (!nfs_append_sloppy_option(mi->options)) return 0; - if (!append_addr_option(&saddr, mi->options)) - return 0; - - return 1; + return nfs_append_addr_option((struct sockaddr *)&saddr, + sizeof(saddr), mi->options); } /* |