From b8eeb537f2b2d14dcb2e43018f2e2b2ba5636126 Mon Sep 17 00:00:00 2001 From: Trond Myklebust Date: Tue, 5 Jun 2012 10:51:00 -0400 Subject: [PATCH] --- yaml --- r: 320193 b: refs/heads/master c: 60f00153d93e0bea872f1a9f5b01423247649083 h: refs/heads/master i: 320191: 2651e24e2dd4de4ca8e27dede7b5bb128a5b720e v: v3 --- [refs] | 2 +- trunk/fs/nfs/nfs4state.c | 11 ++++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/[refs] b/[refs] index 2577d133cba8..782f3a6becd5 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 1a2dd948e2b1e27476982bc7dd6961585823aec5 +refs/heads/master: 60f00153d93e0bea872f1a9f5b01423247649083 diff --git a/trunk/fs/nfs/nfs4state.c b/trunk/fs/nfs/nfs4state.c index da62f66a85ad..338a12acdc38 100644 --- a/trunk/fs/nfs/nfs4state.c +++ b/trunk/fs/nfs/nfs4state.c @@ -1792,12 +1792,14 @@ static int nfs4_reset_session(struct nfs_client *clp) static int nfs4_recall_slot(struct nfs_client *clp) { - struct nfs4_slot_table *fc_tbl = &clp->cl_session->fc_slot_table; - struct nfs4_channel_attrs *fc_attrs = &clp->cl_session->fc_attrs; + struct nfs4_slot_table *fc_tbl; struct nfs4_slot *new, *old; int i; + if (!nfs4_has_session(clp)) + return 0; nfs4_begin_drain_session(clp); + fc_tbl = &clp->cl_session->fc_slot_table; new = kmalloc(fc_tbl->target_max_slots * sizeof(struct nfs4_slot), GFP_NOFS); if (!new) @@ -1810,7 +1812,7 @@ static int nfs4_recall_slot(struct nfs_client *clp) fc_tbl->slots = new; fc_tbl->max_slots = fc_tbl->target_max_slots; fc_tbl->target_max_slots = 0; - fc_attrs->max_reqs = fc_tbl->max_slots; + clp->cl_session->fc_attrs.max_reqs = fc_tbl->max_slots; spin_unlock(&fc_tbl->slot_tbl_lock); kfree(old); @@ -1920,8 +1922,7 @@ static void nfs4_state_manager(struct nfs_client *clp) } /* Recall session slots */ - if (test_and_clear_bit(NFS4CLNT_RECALL_SLOT, &clp->cl_state) - && nfs4_has_session(clp)) { + if (test_and_clear_bit(NFS4CLNT_RECALL_SLOT, &clp->cl_state)) { section = "recall slot"; status = nfs4_recall_slot(clp); if (status < 0)