recovery: avoid recursive state recovery
avoid the recursive case where state recovery operations (OPEN for reclaim and RECLAIM_COMPLETE) return BADSESSION, which kicks off another round of recovery added a 'bool_t try_recovery' argument to compound_encode_send_decode() in place of its unused 'bufsize_in' and 'bufsize_out'. when try_recovery=FALSE, return BADSESSION/STALE_CLIENTID errors instead of attempting recovery. nfs41_open_reclaim(), nfs41_reclaim_complete(), and nfs41_destroy_session() now pass try_recovery=FALSE during state recovery, we can now check the return values of nfs41_open_reclaim() and nfs41_reclaim_complete() for BADSESSION, and use a goto to restart session recovery Signed-off-by: Casey Bodley <cbodley@citi.umich.edu>
This commit is contained in:
parent
80cb5b5f57
commit
7c8f58b992
5 changed files with 45 additions and 47 deletions
|
|
@ -77,7 +77,6 @@ void compound_add_op(
|
|||
int compound_encode_send_decode(
|
||||
nfs41_session *session,
|
||||
nfs41_compound *compound,
|
||||
uint32_t bufsize_in,
|
||||
uint32_t bufsize_out);
|
||||
bool_t try_recovery);
|
||||
|
||||
#endif /* __NFS41_DAEMON_COMPOUND_H__ */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue