NFSv4: The NFSv4.0 client must send RENEW calls if it holds a delegation
RFC3530 states that if the client holds a delegation, then it is obliged to continue to send RENEW calls once every lease period in order to allow the server to return NFS4ERR_CB_PATH_DOWN if the callback path is unreachable. This is not required for NFSv4.1, since the server can at any time set the SEQ4_STATUS_CB_PATH_DOWN_SESSION in any SEQUENCE operation. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
This commit is contained in:
@@ -56,6 +56,9 @@ enum nfs4_session_state {
|
||||
NFS4_SESSION_DRAINING,
|
||||
};
|
||||
|
||||
#define NFS4_RENEW_TIMEOUT 0x01
|
||||
#define NFS4_RENEW_DELEGATION_CB 0x02
|
||||
|
||||
struct nfs4_minor_version_ops {
|
||||
u32 minor_version;
|
||||
|
||||
@@ -225,7 +228,7 @@ struct nfs4_state_recovery_ops {
|
||||
};
|
||||
|
||||
struct nfs4_state_maintenance_ops {
|
||||
int (*sched_state_renewal)(struct nfs_client *, struct rpc_cred *);
|
||||
int (*sched_state_renewal)(struct nfs_client *, struct rpc_cred *, unsigned);
|
||||
struct rpc_cred * (*get_state_renewal_cred_locked)(struct nfs_client *);
|
||||
int (*renew_lease)(struct nfs_client *, struct rpc_cred *);
|
||||
};
|
||||
|
Reference in New Issue
Block a user