NFS: NFS_ROOT should use the new rpc_create API
Teach NFS_ROOT to use the new rpc_create API instead of the old two-call API for creating an RPC transport. Test plan: Compile the kernel with the NFS client build-in, and set CONFIG_NFS_ROOT. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
This commit is contained in:
committed by
Trond Myklebust
parent
6daabf1b04
commit
058ad9cbf1
@@ -76,22 +76,19 @@ static struct rpc_clnt *
|
|||||||
mnt_create(char *hostname, struct sockaddr_in *srvaddr, int version,
|
mnt_create(char *hostname, struct sockaddr_in *srvaddr, int version,
|
||||||
int protocol)
|
int protocol)
|
||||||
{
|
{
|
||||||
struct rpc_xprt *xprt;
|
struct rpc_create_args args = {
|
||||||
struct rpc_clnt *clnt;
|
.protocol = protocol,
|
||||||
|
.address = (struct sockaddr *)srvaddr,
|
||||||
|
.addrsize = sizeof(*srvaddr),
|
||||||
|
.servername = hostname,
|
||||||
|
.program = &mnt_program,
|
||||||
|
.version = version,
|
||||||
|
.authflavor = RPC_AUTH_UNIX,
|
||||||
|
.flags = (RPC_CLNT_CREATE_ONESHOT |
|
||||||
|
RPC_CLNT_CREATE_INTR),
|
||||||
|
};
|
||||||
|
|
||||||
xprt = xprt_create_proto(protocol, srvaddr, NULL);
|
return rpc_create(&args);
|
||||||
if (IS_ERR(xprt))
|
|
||||||
return (struct rpc_clnt *)xprt;
|
|
||||||
|
|
||||||
clnt = rpc_create_client(xprt, hostname,
|
|
||||||
&mnt_program, version,
|
|
||||||
RPC_AUTH_UNIX);
|
|
||||||
if (!IS_ERR(clnt)) {
|
|
||||||
clnt->cl_softrtry = 1;
|
|
||||||
clnt->cl_oneshot = 1;
|
|
||||||
clnt->cl_intr = 1;
|
|
||||||
}
|
|
||||||
return clnt;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
Reference in New Issue
Block a user