reestablishing gss context on rpc_reconnect

if we receive an rpc_autherr, just recreate a new rpc client as well
as the rpc auth structure. as it ties into the recovery and handles
that only one thread recovers and reestablishes the rpc auth context.

in theory, reestablishing rpc client does not necessitate new rpc auth
context. we really need to restablish one only if we get rpc autherr. however,
it simplifies the code not to introduce a different synchronization
mechanism for rpc auth in addition to the rpc one.
This commit is contained in:
Olga Kornievskaia 2011-05-16 18:32:56 -04:00
parent b6beb6f2a9
commit d6967ea9ef
4 changed files with 94 additions and 38 deletions

View file

@ -114,6 +114,8 @@ typedef struct __nfs41_rpc_clnt {
uint32_t wsize;
uint32_t rsize;
uint32_t version;
uint32_t sec_flavor;
char server_name[NI_MAXHOST];
bool_t is_valid_session;
bool_t in_recovery;
bool_t needcb;