Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 97403d95 authored by Jeff Layton's avatar Jeff Layton Committed by J. Bruce Fields
Browse files

nfsd: move unhash_client_locked call into mark_client_expired_locked



All the callers except for the fault injection code call it directly
afterward, and in the fault injection case it won't hurt to do so
anyway.

Signed-off-by: default avatarJeff Layton <jlayton@primarydata.com>
Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
parent 217526e7
Loading
Loading
Loading
Loading
+8 −11
Original line number Diff line number Diff line
@@ -129,14 +129,6 @@ static bool is_client_expired(struct nfs4_client *clp)
	return clp->cl_time == 0;
}

static __be32 mark_client_expired_locked(struct nfs4_client *clp)
{
	if (atomic_read(&clp->cl_refcount))
		return nfserr_jukebox;
	clp->cl_time = 0;
	return nfs_ok;
}

static __be32 get_client_locked(struct nfs4_client *clp)
{
	struct nfsd_net *nn = net_generic(clp->net, nfsd_net_id);
@@ -1628,6 +1620,14 @@ unhash_client(struct nfs4_client *clp)
	spin_unlock(&nn->client_lock);
}

static __be32 mark_client_expired_locked(struct nfs4_client *clp)
{
	if (atomic_read(&clp->cl_refcount))
		return nfserr_jukebox;
	unhash_client_locked(clp);
	return nfs_ok;
}

static void
__destroy_client(struct nfs4_client *clp)
{
@@ -2498,7 +2498,6 @@ nfsd4_create_session(struct svc_rqst *rqstp,
			status = mark_client_expired_locked(old);
			if (status)
				goto out_free_conn;
			unhash_client_locked(old);
		}
		move_to_confirmed(unconf);
		conf = unconf;
@@ -3044,7 +3043,6 @@ nfsd4_setclientid_confirm(struct svc_rqst *rqstp,
			status = mark_client_expired_locked(old);
			if (status)
				goto out;
			unhash_client_locked(old);
		}
		move_to_confirmed(unconf);
		conf = unconf;
@@ -4183,7 +4181,6 @@ nfs4_laundromat(struct nfsd_net *nn)
				clp->cl_clientid.cl_id);
			continue;
		}
		unhash_client_locked(clp);
		list_add(&clp->cl_lru, &reaplist);
	}
	spin_unlock(&nn->client_lock);