[PATCH] knfsd: nfsd4: remove cb_parsed
authorNeilBrown <neilb@cse.unsw.edu.au>
Fri, 24 Jun 2005 05:04:23 +0000 (22:04 -0700)
committerLinus Torvalds <torvalds@ppc970.osdl.org>
Fri, 24 Jun 2005 07:06:35 +0000 (00:06 -0700)
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: J. Bruce Fields <bfields@citi.umich.edu>
Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
fs/nfsd/nfs4callback.c
fs/nfsd/nfs4state.c
include/linux/nfsd/state.h

index 68bb245..583c071 100644 (file)
@@ -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 */
index 26d0046..0b47a97 100644 (file)
@@ -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;
index f4f27b7..83d29ec 100644 (file)
@@ -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;