Commit cb36d634 authored by NeilBrown's avatar NeilBrown Committed by Linus Torvalds
Browse files

[PATCH] knfsd: nfsd4: remove cb_parsed



The cb_parsed field is only used by probe_callback, to determine whether the
callback information has been filled in by setclientid.  But there is no way
that probe_callback() can be called without that having already happened, so
that check is superfluous, as is cb_parsed.

Signed-off-by: default avatarJ. Bruce Fields <bfields@citi.umich.edu>
Signed-off-by: default avatarNeil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 3e9e3dbe
Loading
Loading
Loading
Loading
+1 −3
Original line number Diff line number Diff line
@@ -386,9 +386,7 @@ nfsd4_probe_callback(struct nfs4_client *clp)
	char                    hostname[32];
	int status;

	dprintk("NFSD: probe_callback. cb_parsed %d cb_set %d\n",
			cb->cb_parsed, atomic_read(&cb->cb_set));
	if (!cb->cb_parsed || atomic_read(&cb->cb_set))
	if (atomic_read(&cb->cb_set))
		return;

	/* Initialize address */
+1 −4
Original line number Diff line number Diff line
@@ -377,7 +377,6 @@ create_client(struct xdr_netobj name, char *recdir) {
	memcpy(clp->cl_recdir, recdir, HEXDIR_LEN);
	atomic_set(&clp->cl_count, 1);
	atomic_set(&clp->cl_callback.cb_set, 0);
	clp->cl_callback.cb_parsed = 0;
	INIT_LIST_HEAD(&clp->cl_idhash);
	INIT_LIST_HEAD(&clp->cl_strhash);
	INIT_LIST_HEAD(&clp->cl_openowners);
@@ -620,14 +619,12 @@ gen_callback(struct nfs4_client *clp, struct nfsd4_setclientid *se)
		goto out_err;
	cb->cb_prog = se->se_callback_prog;
	cb->cb_ident = se->se_callback_ident;
	cb->cb_parsed = 1;
	return;
out_err:
	printk(KERN_INFO "NFSD: this client (clientid %08x/%08x) "
		"will not receive delegations\n",
		clp->cl_clientid.cl_boot, clp->cl_clientid.cl_id);

	cb->cb_parsed = 0;
	return;
}

@@ -872,7 +869,7 @@ nfsd4_setclientid_confirm(struct svc_rqst *rqstp, struct nfsd4_setclientid_confi
		else {
			/* XXX: We just turn off callbacks until we can handle
			  * change request correctly. */
			conf->cl_callback.cb_parsed = 0;
			atomic_set(&conf->cl_callback.cb_set, 0);
			gen_confirm(conf);
			expire_client(unconf);
			status = nfs_ok;
+0 −1
Original line number Diff line number Diff line
@@ -92,7 +92,6 @@ struct nfs4_delegation {
/* client delegation callback info */
struct nfs4_callback {
	/* SETCLIENTID info */
	u32			cb_parsed;  /* addr parsed */
	u32                     cb_addr;
	unsigned short          cb_port;
	u32                     cb_prog;