diff options
author | Andy Adamson <andros@netapp.com> | 2012-03-07 10:49:41 -0500 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2012-03-07 10:53:55 -0500 |
commit | 9cb8196839ab4ec87710526e9c43ac7f5dba69d3 (patch) | |
tree | 97ea8225d7ea1b7ba45785f25d042a18263eaf8e /fs/nfs/nfs4state.c | |
parent | 4f1abd226d80ef763c50e3930b369b63dffbb312 (diff) |
NFSv4.1 handle DS stateid errors
Handle DS READ and WRITE stateid errors by recovering the stateid on the MDS.
NFS4ERR_OLD_STATEID is ignored as the client always sends a
state sequenceid of zero for DS READ and WRITE stateids.
Signed-off-by: Andy Adamson <andros@netapp.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs/nfs4state.c')
-rw-r--r-- | fs/nfs/nfs4state.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/nfs/nfs4state.c b/fs/nfs/nfs4state.c index 1dad5c53c7fa..a58d02a0c27d 100644 --- a/fs/nfs/nfs4state.c +++ b/fs/nfs/nfs4state.c | |||
@@ -1072,6 +1072,7 @@ void nfs4_schedule_lease_recovery(struct nfs_client *clp) | |||
1072 | set_bit(NFS4CLNT_CHECK_LEASE, &clp->cl_state); | 1072 | set_bit(NFS4CLNT_CHECK_LEASE, &clp->cl_state); |
1073 | nfs4_schedule_state_manager(clp); | 1073 | nfs4_schedule_state_manager(clp); |
1074 | } | 1074 | } |
1075 | EXPORT_SYMBOL_GPL(nfs4_schedule_lease_recovery); | ||
1075 | 1076 | ||
1076 | void nfs4_schedule_path_down_recovery(struct nfs_client *clp) | 1077 | void nfs4_schedule_path_down_recovery(struct nfs_client *clp) |
1077 | { | 1078 | { |
@@ -1109,6 +1110,7 @@ void nfs4_schedule_stateid_recovery(const struct nfs_server *server, struct nfs4 | |||
1109 | nfs4_state_mark_reclaim_nograce(clp, state); | 1110 | nfs4_state_mark_reclaim_nograce(clp, state); |
1110 | nfs4_schedule_state_manager(clp); | 1111 | nfs4_schedule_state_manager(clp); |
1111 | } | 1112 | } |
1113 | EXPORT_SYMBOL_GPL(nfs4_schedule_stateid_recovery); | ||
1112 | 1114 | ||
1113 | void nfs_inode_find_state_and_recover(struct inode *inode, | 1115 | void nfs_inode_find_state_and_recover(struct inode *inode, |
1114 | const nfs4_stateid *stateid) | 1116 | const nfs4_stateid *stateid) |