提交 efd8340b 编写于 作者: C Chuck Lever 提交者: Trond Myklebust

NFS: Kernel mount client should use async bind

Simplify the in-kernel mount client by using autobind instead of an
explicit call to rpc_getport_sync.
Signed-off-by: NChuck Lever <chuck.lever@oracle.com>
Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
上级 b79dc8ce
...@@ -1027,15 +1027,7 @@ static int nfs_try_mount(struct nfs_parsed_mount_data *args, ...@@ -1027,15 +1027,7 @@ static int nfs_try_mount(struct nfs_parsed_mount_data *args,
sin = args->mount_server.address; sin = args->mount_server.address;
else else
sin = args->nfs_server.address; sin = args->nfs_server.address;
if (args->mount_server.port == 0) { if (args->mount_server.port != 0)
status = rpcb_getport_sync(&sin,
args->mount_server.program,
args->mount_server.version,
args->mount_server.protocol);
if (status < 0)
goto out_err;
sin.sin_port = htons(status);
} else
sin.sin_port = htons(args->mount_server.port); sin.sin_port = htons(args->mount_server.port);
/* /*
...@@ -1049,14 +1041,11 @@ static int nfs_try_mount(struct nfs_parsed_mount_data *args, ...@@ -1049,14 +1041,11 @@ static int nfs_try_mount(struct nfs_parsed_mount_data *args,
args->mount_server.version, args->mount_server.version,
args->mount_server.protocol, args->mount_server.protocol,
root_fh); root_fh);
if (status < 0) if (status == 0)
goto out_err; return 0;
return status;
out_err: dfprintk(MOUNT, "NFS: unable to mount server " NIPQUAD_FMT
dfprintk(MOUNT, "NFS: unable to contact server on host " ", error %d\n", NIPQUAD(sin.sin_addr.s_addr), status);
NIPQUAD_FMT "\n", NIPQUAD(sin.sin_addr.s_addr));
return status; return status;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册