NFSv4.1: sp4_mach_cred: no need to ref count creds
authorWeston Andros Adamson <dros@netapp.com>
Tue, 10 Sep 2013 22:44:32 +0000 (18:44 -0400)
committerTrond Myklebust <Trond.Myklebust@netapp.com>
Wed, 11 Sep 2013 13:07:53 +0000 (09:07 -0400)
The cl_machine_cred doesn't need to be reference counted here -
a reference is held is for the lifetime of the struct nfs_client.
Also, no need to put_rpccred the rpc_message.rpc_cred.

Signed-off-by: Weston Andros Adamson <dros@netapp.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
fs/nfs/nfs4_fs.h

index f520a1113b38b53e6eeb4ec589f75bb401d03d95..07a8aa9cd7ee0bd06bd8070a5938317a76aeae70 100644 (file)
@@ -279,10 +279,10 @@ _nfs4_state_protect(struct nfs_client *clp, unsigned long sp4_mode,
        if (test_bit(sp4_mode, &clp->cl_sp4_flags)) {
                spin_lock(&clp->cl_lock);
                if (clp->cl_machine_cred != NULL)
-                       newcred = get_rpccred(clp->cl_machine_cred);
+                       /* don't call get_rpccred on the machine cred -
+                        * a reference will be held for life of clp */
+                       newcred = clp->cl_machine_cred;
                spin_unlock(&clp->cl_lock);
-               if (msg->rpc_cred)
-                       put_rpccred(msg->rpc_cred);
                msg->rpc_cred = newcred;
 
                flavor = clp->cl_rpcclient->cl_auth->au_flavor;