|
@@ -868,8 +868,10 @@ static int nfs4_set_client(struct nfs_server *server,
|
|
|
if (IS_ERR(clp))
|
|
|
return PTR_ERR(clp);
|
|
|
|
|
|
- if (server->nfs_client == clp)
|
|
|
+ if (server->nfs_client == clp) {
|
|
|
+ nfs_put_client(clp);
|
|
|
return -ELOOP;
|
|
|
+ }
|
|
|
|
|
|
/*
|
|
|
* Query for the lease time on clientid setup or renewal
|
|
@@ -1244,11 +1246,11 @@ int nfs4_update_server(struct nfs_server *server, const char *hostname,
|
|
|
clp->cl_proto, clnt->cl_timeout,
|
|
|
clp->cl_minorversion, net);
|
|
|
clear_bit(NFS_MIG_TSM_POSSIBLE, &server->mig_status);
|
|
|
- nfs_put_client(clp);
|
|
|
if (error != 0) {
|
|
|
nfs_server_insert_lists(server);
|
|
|
return error;
|
|
|
}
|
|
|
+ nfs_put_client(clp);
|
|
|
|
|
|
if (server->nfs_client->cl_hostname == NULL)
|
|
|
server->nfs_client->cl_hostname = kstrdup(hostname, GFP_KERNEL);
|