The kernel now supports client-side IPv6 for the main NFS protocols, but not yet for auxiliary protocols such as NLM.
Enable the text-based mount.nfs logic to resolve hostnames to IPv6 addresses. This should be enough to begin testing the in-kernel NFSv4 support for IPv6. Since NFSv4 unmounting is only a local process (no communication with the server) we don't need to do anything to support unmounting an IPv6-addressed NFSv4 server. Note that the mount command may now also pass in an IPv6 address via the "clientaddr=" mount option, though the kernel NFS client doesn't yet support an IPv6 callback service. Signed-off-by: Chuck Lever <[EMAIL PROTECTED]> --- utils/mount/stropts.c | 7 ++++--- 1 files changed, 4 insertions(+), 3 deletions(-) diff --git a/utils/mount/stropts.c b/utils/mount/stropts.c index ef6365d..caf13b1 100644 --- a/utils/mount/stropts.c +++ b/utils/mount/stropts.c @@ -725,13 +725,14 @@ int nfsmount_string(const char *spec, const char *node, const char *type, int flags, char **extra_opts, int fake, int child) { struct mount_options *options = NULL; - struct sockaddr_in saddr; + struct sockaddr_storage dummy; + struct sockaddr *saddr = (struct sockaddr *)&dummy; char *hostname; int retval = EX_FAIL; if (!parse_devname(spec, &hostname)) return retval; - if (!fill_ipv4_sockaddr(hostname, &saddr)) + if (nfs_name_to_address(hostname, AF_UNSPEC, saddr)) goto fail; options = po_split(*extra_opts); @@ -740,7 +741,7 @@ int nfsmount_string(const char *spec, const char *node, const char *type, goto fail; } - if (!set_mandatory_options(type, (struct sockaddr *)&saddr, options)) + if (!set_mandatory_options(type, saddr, options)) goto out; if (po_rightmost(options, "bg", "fg") == PO_KEY1_RIGHTMOST) - To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html