On Tue, Mar 29, 2022 at 02:45:28PM -0700, dai.ngo@xxxxxxxxxx wrote: > This does not prevent the courtesy client from doing trunking in all > cases. It is only prevent the courtesy client from doing trunking without > first reconnect to the server. > > I think this behavior is the same as if the server does not support courtesy > client; the server can expire the courtesy anytime it wants. If the > courtesy client reconnected successfully then by the time nfsd4_create_session/ > find_confirmed_client is called the client already becomes active > so the server will process the request normally. I'm not sure what you mean here. All a client has to do to reconnect is succesfully renew its lease. That doesn't necessarily require calling CREATE_SESSION again. > Also to handle cases when the courtesy client reconnects after it was in > EXPIRED state, we want to force the client to recover its state starting > with EXCHANGE_ID so we have to return BAD_SESSION on CREATE_SESSION request. The client should not have to send EXCHANGE_ID. --b.