On Fri, 8 Oct 2010 15:15:05 -0400 Jeff Layton <jlayton@xxxxxxxxx> wrote: > The manpage says: > > ip=arg > sets the destination IP address. This option is set automatically > if the server name portion of the requested UNC name can be > resolved so rarely needs to be specified by the user. > > ...but recent changes have made it not work anymore as an override if > someone specifies an ip= option as part of the mount options. Reinstate > that behavior by copying the ip= option verbatim into the addrlist of > the parsed options struct and then skipping the name resolution. That > should allow the ip= option to pass unadulterated to the kernel. > > Signed-off-by: Jeff Layton <jlayton@xxxxxxxxx> > --- > mount.cifs.c | 6 +++++- > 1 files changed, 5 insertions(+), 1 deletions(-) > > diff --git a/mount.cifs.c b/mount.cifs.c > index ed27bba..df92d79 100644 > --- a/mount.cifs.c > +++ b/mount.cifs.c > @@ -958,10 +958,12 @@ parse_options(const char *data, struct parsed_mount_info *parsed_info) > "target ip address argument missing\n"); > } else if (strnlen(value, MAX_ADDRESS_LEN) <= > MAX_ADDRESS_LEN) { > + strcpy(parsed_info->addrlist, value); > if (parsed_info->verboseflag) > fprintf(stderr, > "ip address %s override specified\n", > value); > + goto nocopy; > } else { > fprintf(stderr, "ip address too long\n"); > return EX_USAGE; > @@ -1556,7 +1558,9 @@ assemble_mountinfo(struct parsed_mount_info *parsed_info, > if (rc) > goto assemble_exit; > > - rc = resolve_host(parsed_info->host, parsed_info->addrlist); > + if (parsed_info->addrlist[0] == '\0') > + rc = resolve_host(parsed_info->host, parsed_info->addrlist); > + > switch (rc) { > case EX_USAGE: > fprintf(stderr, "mount error: could not resolve address for " Committed... I'll probably wait a few days to see if any more patches turn up and then do a new release later this week or next. Post 'em if you've got 'em. -- Jeff Layton <jlayton@xxxxxxxxx> -- To unsubscribe from this list: send the line "unsubscribe linux-cifs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html