From: Chuck Lever Date: Tue, 15 Jul 2008 17:34:49 +0000 (-0400) Subject: Change the append_addr_option() function to support sending either IPv4 X-Git-Tag: nfs-utils-1-1-3~14 X-Git-Url: https://git.decadent.org.uk/gitweb/?p=nfs-utils.git;a=commitdiff_plain;h=1adb0e018f57079c6e95a9bdbf904361354b0527 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 Signed-off-by: Steve Dickson --- 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); } /*