Changes since first version: - move clients to be expired by laundromat to temporary reaplist under the client lock. Then release the lock and expire them without holding the client lock. - mark clients as expired under the client lock, do not renew clients mark as expired - fix an existing bug in nfsd4_destroy_session that must take the state lock for clearing the callback client. [PATCH v2 1/9] nfsd4: rename sessionid_lock to client_lock [PATCH v2 2/9] nfsd4: fold release_session into expire_client [PATCH v2 3/9] nfsd4: use list_move in move_to_confirmed [PATCH v2 4/9] nfsd4: extend the client_lock to cover cl_lru [PATCH v2 5/9] nfsd4: refactor expire_client [PATCH v2 6/9] nfsd4: introduce nfs4_client.cl_refcount [PATCH v2 7/9] nfsd4: mark_client_expired [PATCH v2 8/9] nfsd4: keep a reference count on client while in use [PATCH v2 9/9] nfsd4: nfsd4_destroy_session must set callback client under the state lock -- 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