Bruce, The following patchset changes the scope of the sessionid spin lock to cover both sessions and the client lru list and it introduces a new reference count on the client that's manipulated under that new client lock (not requiring the state mutex). It's tested to pass connectathon tests as well as explicit session destroy and implicit client expiry when the client is blown away. However, I haven't tested the gist of this patchset which is to get the client to perform a long enough compound during which it might time out... [PATCH 1/8] nfsd4: rename sessionid_lock to client_lock [PATCH 2/8] nfsd4: fold release_session into expire_client [PATCH 3/8] nfsd4: use list_move in move_to_confirmed [PATCH 4/8] nfsd4: extend the client_lock to cover cl_lru [PATCH 5/8] nfsd4: refactor expire_client [PATCH 6/8] nfsd4: introduce nfs4_client.cl_refcount [PATCH 7/8] nfsd4: keep a reference count on client while in use [PATCH 8/8] nfsd41: cstate->session can NULL in nfsd4_destroy_session I think this was introduced in: 26c0c75 nfsd4: fix unlikely race in session replay case though I'm not sure how it ever worked correctly... Benny -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html