nfs4_init_callback() is never invoked for NFS versions other than 4.

Signed-off-by: Chuck Lever <[email protected]>
---
 fs/nfs/nfs4client.c |   31 ++++++++++++++-----------------
 1 file changed, 14 insertions(+), 17 deletions(-)

diff --git a/fs/nfs/nfs4client.c b/fs/nfs/nfs4client.c
index ffdb28d..5f4b818 100644
--- a/fs/nfs/nfs4client.c
+++ b/fs/nfs/nfs4client.c
@@ -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;
 }
 

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to