Loading fs/nfs/nfs40.h +1 −0 Original line number Diff line number Diff line Loading @@ -6,6 +6,7 @@ /* nfs40client.c */ void nfs40_shutdown_client(struct nfs_client *); int nfs40_init_client(struct nfs_client *); void nfs40_handle_cb_pathdown(struct nfs_client *clp); /* nfs40proc.c */ extern const struct nfs4_minor_version_ops nfs_v4_0_minor_ops; Loading fs/nfs/nfs40client.c +23 −0 Original line number Diff line number Diff line Loading @@ -3,6 +3,7 @@ #include "nfs4_fs.h" #include "nfs4session.h" #include "callback.h" #include "delegation.h" #include "internal.h" #include "netns.h" #include "nfs40.h" Loading Loading @@ -80,6 +81,28 @@ int nfs40_init_client(struct nfs_client *clp) return 0; } /* * nfs40_handle_cb_pathdown - return all delegations after NFS4ERR_CB_PATH_DOWN * @clp: client to process * * Set the NFS4CLNT_LEASE_EXPIRED state in order to force a * resend of the SETCLIENTID and hence re-establish the * callback channel. Then return all existing delegations. */ void nfs40_handle_cb_pathdown(struct nfs_client *clp) { set_bit(NFS4CLNT_LEASE_EXPIRED, &clp->cl_state); nfs_expire_all_delegations(clp); dprintk("%s: handling CB_PATHDOWN recovery for server %s\n", __func__, clp->cl_hostname); } void nfs4_schedule_path_down_recovery(struct nfs_client *clp) { nfs40_handle_cb_pathdown(clp); nfs4_schedule_state_manager(clp); } /** * nfs40_walk_client_list - Find server that recognizes a client ID * Loading fs/nfs/nfs4state.c +1 −22 Original line number Diff line number Diff line Loading @@ -54,6 +54,7 @@ #include <linux/sunrpc/clnt.h> #include "nfs4_fs.h" #include "nfs40.h" #include "callback.h" #include "delegation.h" #include "internal.h" Loading Loading @@ -1294,28 +1295,6 @@ int nfs4_client_recover_expired_lease(struct nfs_client *clp) return ret; } /* * nfs40_handle_cb_pathdown - return all delegations after NFS4ERR_CB_PATH_DOWN * @clp: client to process * * Set the NFS4CLNT_LEASE_EXPIRED state in order to force a * resend of the SETCLIENTID and hence re-establish the * callback channel. Then return all existing delegations. */ static void nfs40_handle_cb_pathdown(struct nfs_client *clp) { set_bit(NFS4CLNT_LEASE_EXPIRED, &clp->cl_state); nfs_expire_all_delegations(clp); dprintk("%s: handling CB_PATHDOWN recovery for server %s\n", __func__, clp->cl_hostname); } void nfs4_schedule_path_down_recovery(struct nfs_client *clp) { nfs40_handle_cb_pathdown(clp); nfs4_schedule_state_manager(clp); } static int nfs4_state_mark_reclaim_reboot(struct nfs_client *clp, struct nfs4_state *state) { Loading Loading
fs/nfs/nfs40.h +1 −0 Original line number Diff line number Diff line Loading @@ -6,6 +6,7 @@ /* nfs40client.c */ void nfs40_shutdown_client(struct nfs_client *); int nfs40_init_client(struct nfs_client *); void nfs40_handle_cb_pathdown(struct nfs_client *clp); /* nfs40proc.c */ extern const struct nfs4_minor_version_ops nfs_v4_0_minor_ops; Loading
fs/nfs/nfs40client.c +23 −0 Original line number Diff line number Diff line Loading @@ -3,6 +3,7 @@ #include "nfs4_fs.h" #include "nfs4session.h" #include "callback.h" #include "delegation.h" #include "internal.h" #include "netns.h" #include "nfs40.h" Loading Loading @@ -80,6 +81,28 @@ int nfs40_init_client(struct nfs_client *clp) return 0; } /* * nfs40_handle_cb_pathdown - return all delegations after NFS4ERR_CB_PATH_DOWN * @clp: client to process * * Set the NFS4CLNT_LEASE_EXPIRED state in order to force a * resend of the SETCLIENTID and hence re-establish the * callback channel. Then return all existing delegations. */ void nfs40_handle_cb_pathdown(struct nfs_client *clp) { set_bit(NFS4CLNT_LEASE_EXPIRED, &clp->cl_state); nfs_expire_all_delegations(clp); dprintk("%s: handling CB_PATHDOWN recovery for server %s\n", __func__, clp->cl_hostname); } void nfs4_schedule_path_down_recovery(struct nfs_client *clp) { nfs40_handle_cb_pathdown(clp); nfs4_schedule_state_manager(clp); } /** * nfs40_walk_client_list - Find server that recognizes a client ID * Loading
fs/nfs/nfs4state.c +1 −22 Original line number Diff line number Diff line Loading @@ -54,6 +54,7 @@ #include <linux/sunrpc/clnt.h> #include "nfs4_fs.h" #include "nfs40.h" #include "callback.h" #include "delegation.h" #include "internal.h" Loading Loading @@ -1294,28 +1295,6 @@ int nfs4_client_recover_expired_lease(struct nfs_client *clp) return ret; } /* * nfs40_handle_cb_pathdown - return all delegations after NFS4ERR_CB_PATH_DOWN * @clp: client to process * * Set the NFS4CLNT_LEASE_EXPIRED state in order to force a * resend of the SETCLIENTID and hence re-establish the * callback channel. Then return all existing delegations. */ static void nfs40_handle_cb_pathdown(struct nfs_client *clp) { set_bit(NFS4CLNT_LEASE_EXPIRED, &clp->cl_state); nfs_expire_all_delegations(clp); dprintk("%s: handling CB_PATHDOWN recovery for server %s\n", __func__, clp->cl_hostname); } void nfs4_schedule_path_down_recovery(struct nfs_client *clp) { nfs40_handle_cb_pathdown(clp); nfs4_schedule_state_manager(clp); } static int nfs4_state_mark_reclaim_reboot(struct nfs_client *clp, struct nfs4_state *state) { Loading