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

Commit f61534df authored by Trond Myklebust's avatar Trond Myklebust
Browse files

SUNRPC: Remove redundant calls to rpciod_up()/rpciod_down()

parent 4ada539e
Loading
Loading
Loading
Loading
+0 −6
Original line number Diff line number Diff line
@@ -123,9 +123,6 @@ lockd(struct svc_rqst *rqstp)
	/* Process request with signals blocked, but allow SIGKILL.  */
	allow_signal(SIGKILL);

	/* kick rpciod */
	rpciod_up();

	dprintk("NFS locking service started (ver " LOCKD_VERSION ").\n");

	if (!nlm_timeout)
@@ -202,9 +199,6 @@ lockd(struct svc_rqst *rqstp)
	/* Exit the RPC thread */
	svc_exit_thread(rqstp);

	/* release rpciod */
	rpciod_down();

	/* Release module */
	unlock_kernel();
	module_put_and_exit(0);
+0 −15
Original line number Diff line number Diff line
@@ -102,19 +102,10 @@ static struct nfs_client *nfs_alloc_client(const char *hostname,
					   int nfsversion)
{
	struct nfs_client *clp;
	int error;

	if ((clp = kzalloc(sizeof(*clp), GFP_KERNEL)) == NULL)
		goto error_0;

	error = rpciod_up();
	if (error < 0) {
		dprintk("%s: couldn't start rpciod! Error = %d\n",
				__FUNCTION__, error);
		goto error_1;
	}
	__set_bit(NFS_CS_RPCIOD, &clp->cl_res_state);

	if (nfsversion == 4) {
		if (nfs_callback_up() < 0)
			goto error_2;
@@ -154,9 +145,6 @@ static struct nfs_client *nfs_alloc_client(const char *hostname,
	if (__test_and_clear_bit(NFS_CS_CALLBACK, &clp->cl_res_state))
		nfs_callback_down();
error_2:
	rpciod_down();
	__clear_bit(NFS_CS_RPCIOD, &clp->cl_res_state);
error_1:
	kfree(clp);
error_0:
	return NULL;
@@ -198,9 +186,6 @@ static void nfs_free_client(struct nfs_client *clp)
	if (__test_and_clear_bit(NFS_CS_CALLBACK, &clp->cl_res_state))
		nfs_callback_down();

	if (__test_and_clear_bit(NFS_CS_RPCIOD, &clp->cl_res_state))
		rpciod_down();

	kfree(clp->cl_hostname);
	kfree(clp);

+3 −9
Original line number Diff line number Diff line
@@ -429,29 +429,23 @@ nfsd4_probe_callback(struct nfs4_client *clp)
		goto out_err;
	}

	/* Kick rpciod, put the call on the wire. */
	if (rpciod_up() != 0)
		goto out_clnt;

	/* the task holds a reference to the nfs4_client struct */
	atomic_inc(&clp->cl_count);

	msg.rpc_cred = nfsd4_lookupcred(clp,0);
	if (IS_ERR(msg.rpc_cred))
		goto out_rpciod;
		goto out_release_clp;
	status = rpc_call_async(cb->cb_client, &msg, RPC_TASK_ASYNC, &nfs4_cb_null_ops, NULL);
	put_rpccred(msg.rpc_cred);

	if (status != 0) {
		dprintk("NFSD: asynchronous NFSPROC4_CB_NULL failed!\n");
		goto out_rpciod;
		goto out_release_clp;
	}
	return;

out_rpciod:
out_release_clp:
	atomic_dec(&clp->cl_count);
	rpciod_down();
out_clnt:
	rpc_shutdown_client(cb->cb_client);
out_err:
	cb->cb_client = NULL;
+0 −1
Original line number Diff line number Diff line
@@ -378,7 +378,6 @@ shutdown_callback_client(struct nfs4_client *clp)
	if (clnt) {
		clp->cl_callback.cb_client = NULL;
		rpc_shutdown_client(clnt);
		rpciod_down();
	}
}

+0 −1
Original line number Diff line number Diff line
@@ -16,7 +16,6 @@ struct nfs_client {
#define NFS_CS_INITING		1		/* busy initialising */
	int			cl_nfsversion;	/* NFS protocol version */
	unsigned long		cl_res_state;	/* NFS resources state */
#define NFS_CS_RPCIOD		0		/* - rpciod started */
#define NFS_CS_CALLBACK		1		/* - callback started */
#define NFS_CS_IDMAP		2		/* - idmap started */
#define NFS_CS_RENEWD		3		/* - renewd started */
Loading