mirror of
https://github.com/torvalds/linux.git
synced 2024-11-18 18:11:56 +00:00
NFS: Clean up nfs_init_client()
We always call nfs_mark_client_ready() even if nfs_create_rpc_client() returns an error, so we can rearrange nfs_init_client() to mark the client ready from a single place. Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com> Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
This commit is contained in:
parent
36718a669e
commit
2844b6aecf
@ -624,27 +624,21 @@ struct nfs_client *nfs_init_client(struct nfs_client *clp,
|
||||
{
|
||||
int error;
|
||||
|
||||
if (clp->cl_cons_state == NFS_CS_READY) {
|
||||
/* the client is already initialised */
|
||||
dprintk("<-- nfs_init_client() = 0 [already %p]\n", clp);
|
||||
/* the client is already initialised */
|
||||
if (clp->cl_cons_state == NFS_CS_READY)
|
||||
return clp;
|
||||
}
|
||||
|
||||
/*
|
||||
* Create a client RPC handle for doing FSSTAT with UNIX auth only
|
||||
* - RFC 2623, sec 2.3.2
|
||||
*/
|
||||
error = nfs_create_rpc_client(clp, cl_init, RPC_AUTH_UNIX);
|
||||
if (error < 0)
|
||||
goto error;
|
||||
nfs_mark_client_ready(clp, NFS_CS_READY);
|
||||
nfs_mark_client_ready(clp, error == 0 ? NFS_CS_READY : error);
|
||||
if (error < 0) {
|
||||
nfs_put_client(clp);
|
||||
clp = ERR_PTR(error);
|
||||
}
|
||||
return clp;
|
||||
|
||||
error:
|
||||
nfs_mark_client_ready(clp, error);
|
||||
nfs_put_client(clp);
|
||||
dprintk("<-- nfs_init_client() = xerror %d\n", error);
|
||||
return ERR_PTR(error);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(nfs_init_client);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user