Skip to content

Commit

Permalink
NFS: Add new 'mountaddr=' mount option
Browse files Browse the repository at this point in the history
I got the 'mounthost=' option wrong - it shouldn't look for an address
value, but rather a hostname value.  However, the in-kernel mount client
and NFS client cannot resolve a hostname by themselves; they rely on
user-land to pass in the resolved address.

Create a new mount option that does take an address so that the mount
program's address can be passed in.  The mount hostname is now ignored
by the kernel.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
  • Loading branch information
Chuck Lever authored and Trond Myklebust committed Oct 9, 2007
1 parent aad7000 commit 0ac8377
Showing 1 changed file with 5 additions and 3 deletions.
8 changes: 5 additions & 3 deletions fs/nfs/super.c
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,7 @@ struct nfs_parsed_mount_data {

struct {
struct sockaddr_in address;
char *hostname;
unsigned int program;
unsigned int version;
unsigned short port;
Expand Down Expand Up @@ -116,7 +117,7 @@ enum {

/* Mount options that take string arguments */
Opt_sec, Opt_proto, Opt_mountproto,
Opt_addr, Opt_mounthost, Opt_clientaddr,
Opt_addr, Opt_mountaddr, Opt_clientaddr,

/* Mount options that are ignored */
Opt_userspace, Opt_deprecated,
Expand Down Expand Up @@ -175,7 +176,8 @@ static match_table_t nfs_mount_option_tokens = {
{ Opt_mountproto, "mountproto=%s" },
{ Opt_addr, "addr=%s" },
{ Opt_clientaddr, "clientaddr=%s" },
{ Opt_mounthost, "mounthost=%s" },
{ Opt_userspace, "mounthost=%s" },
{ Opt_mountaddr, "mountaddr=%s" },

{ Opt_err, NULL }
};
Expand Down Expand Up @@ -961,7 +963,7 @@ static int nfs_parse_mount_options(char *raw,
goto out_nomem;
mnt->client_address = string;
break;
case Opt_mounthost:
case Opt_mountaddr:
string = match_strdup(args);
if (string == NULL)
goto out_nomem;
Expand Down

0 comments on commit 0ac8377

Please sign in to comment.