Created attachment 182948 [details]
do CreateSession with extant ClientID first for BADSESSION recovery
Some NFSv4.1 servers return NFS4ERR_BAD_SESSION for cases where the ClientID
is still valid. I believe that Solaris servers do this.
As such, the recovery that starts with ExchangeID to acquire a new ClientID
is not correct for these servers.
This patch modifies the code so that it first attempts a CreateSession with
the extant ClientID and only does the ExchangeID, CreateSession recovery
if this fails.
I believe this is correct for Solaris servers, but since I do not have any
Solaris server to test against, I don't actually know if this patch works
for Solaris servers?