This is very similar to v2 with: - first two patches swapped - while(1) loop changed to "goto retry" - add a comment to patch 3 - rebase on nfsd-next - rb from Jeff added. NeilBrown [PATCH 1/4] nfsd: move nfsd4_cstate_assign_replay() earlier in open [PATCH 2/4] nfsd: perform all find_openstateowner_str calls in the [PATCH 3/4] nfsd: replace rp_mutex to avoid deadlock in [PATCH 4/4] nfsd: drop st_mutex_mutex before calling