OSDN Git Service

NFS: Clean up nfs4_init_callback()
authorChuck Lever <chuck.lever@oracle.com>
Sun, 9 Nov 2014 01:15:26 +0000 (20:15 -0500)
committerAnna Schumaker <Anna.Schumaker@Netapp.com>
Tue, 25 Nov 2014 21:22:16 +0000 (16:22 -0500)
nfs4_init_callback() is never invoked for NFS versions other than 4.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
fs/nfs/nfs4client.c

index ffdb28d..5f4b818 100644 (file)
@@ -241,28 +241,25 @@ void nfs4_free_client(struct nfs_client *clp)
  */
 static int nfs4_init_callback(struct nfs_client *clp)
 {
+       struct rpc_xprt *xprt;
        int error;
 
-       if (clp->rpc_ops->version == 4) {
-               struct rpc_xprt *xprt;
+       xprt = rcu_dereference_raw(clp->cl_rpcclient->cl_xprt);
 
-               xprt = rcu_dereference_raw(clp->cl_rpcclient->cl_xprt);
-
-               if (nfs4_has_session(clp)) {
-                       error = xprt_setup_backchannel(xprt,
-                                               NFS41_BC_MIN_CALLBACKS);
-                       if (error < 0)
-                               return error;
-               }
-
-               error = nfs_callback_up(clp->cl_mvops->minor_version, xprt);
-               if (error < 0) {
-                       dprintk("%s: failed to start callback. Error = %d\n",
-                               __func__, error);
+       if (nfs4_has_session(clp)) {
+               error = xprt_setup_backchannel(xprt, NFS41_BC_MIN_CALLBACKS);
+               if (error < 0)
                        return error;
-               }
-               __set_bit(NFS_CS_CALLBACK, &clp->cl_res_state);
        }
+
+       error = nfs_callback_up(clp->cl_mvops->minor_version, xprt);
+       if (error < 0) {
+               dprintk("%s: failed to start callback. Error = %d\n",
+                       __func__, error);
+               return error;
+       }
+       __set_bit(NFS_CS_CALLBACK, &clp->cl_res_state);
+
        return 0;
 }