aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfsd
diff options
context:
space:
mode:
Diffstat (limited to 'fs/nfsd')
-rw-r--r--fs/nfsd/nfs4callback.c4
-rw-r--r--fs/nfsd/nfs4state.c5
2 files changed, 2 insertions, 7 deletions
diff --git a/fs/nfsd/nfs4callback.c b/fs/nfsd/nfs4callback.c
index 68bb245491f6..583c0710e45e 100644
--- a/fs/nfsd/nfs4callback.c
+++ b/fs/nfsd/nfs4callback.c
@@ -386,9 +386,7 @@ nfsd4_probe_callback(struct nfs4_client *clp)
386 char hostname[32]; 386 char hostname[32];
387 int status; 387 int status;
388 388
389 dprintk("NFSD: probe_callback. cb_parsed %d cb_set %d\n", 389 if (atomic_read(&cb->cb_set))
390 cb->cb_parsed, atomic_read(&cb->cb_set));
391 if (!cb->cb_parsed || atomic_read(&cb->cb_set))
392 return; 390 return;
393 391
394 /* Initialize address */ 392 /* Initialize address */
diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c
index 26d00465c28a..0b47a97e953d 100644
--- a/fs/nfsd/nfs4state.c
+++ b/fs/nfsd/nfs4state.c
@@ -377,7 +377,6 @@ create_client(struct xdr_netobj name, char *recdir) {
377 memcpy(clp->cl_recdir, recdir, HEXDIR_LEN); 377 memcpy(clp->cl_recdir, recdir, HEXDIR_LEN);
378 atomic_set(&clp->cl_count, 1); 378 atomic_set(&clp->cl_count, 1);
379 atomic_set(&clp->cl_callback.cb_set, 0); 379 atomic_set(&clp->cl_callback.cb_set, 0);
380 clp->cl_callback.cb_parsed = 0;
381 INIT_LIST_HEAD(&clp->cl_idhash); 380 INIT_LIST_HEAD(&clp->cl_idhash);
382 INIT_LIST_HEAD(&clp->cl_strhash); 381 INIT_LIST_HEAD(&clp->cl_strhash);
383 INIT_LIST_HEAD(&clp->cl_openowners); 382 INIT_LIST_HEAD(&clp->cl_openowners);
@@ -620,14 +619,12 @@ gen_callback(struct nfs4_client *clp, struct nfsd4_setclientid *se)
620 goto out_err; 619 goto out_err;
621 cb->cb_prog = se->se_callback_prog; 620 cb->cb_prog = se->se_callback_prog;
622 cb->cb_ident = se->se_callback_ident; 621 cb->cb_ident = se->se_callback_ident;
623 cb->cb_parsed = 1;
624 return; 622 return;
625out_err: 623out_err:
626 printk(KERN_INFO "NFSD: this client (clientid %08x/%08x) " 624 printk(KERN_INFO "NFSD: this client (clientid %08x/%08x) "
627 "will not receive delegations\n", 625 "will not receive delegations\n",
628 clp->cl_clientid.cl_boot, clp->cl_clientid.cl_id); 626 clp->cl_clientid.cl_boot, clp->cl_clientid.cl_id);
629 627
630 cb->cb_parsed = 0;
631 return; 628 return;
632} 629}
633 630
@@ -872,7 +869,7 @@ nfsd4_setclientid_confirm(struct svc_rqst *rqstp, struct nfsd4_setclientid_confi
872 else { 869 else {
873 /* XXX: We just turn off callbacks until we can handle 870 /* XXX: We just turn off callbacks until we can handle
874 * change request correctly. */ 871 * change request correctly. */
875 conf->cl_callback.cb_parsed = 0; 872 atomic_set(&conf->cl_callback.cb_set, 0);
876 gen_confirm(conf); 873 gen_confirm(conf);
877 expire_client(unconf); 874 expire_client(unconf);
878 status = nfs_ok; 875 status = nfs_ok;