mirror of
https://github.com/torvalds/linux.git
synced 2026-03-08 03:44:45 +01:00
NFS: Move NFS v4.0 pathdown recovery into nfs40client.c
Signed-off-by: Anna Schumaker <anna.schumaker@oracle.com>
This commit is contained in:
parent
214359fe16
commit
424a3a71b8
3 changed files with 25 additions and 22 deletions
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
@ -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
|
||||
*
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
@ -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…
Add table
Add a link
Reference in a new issue