Whamcloud - gitweb
Fix up the spinlock situation around rq->rq_list and the lists it lives on.
We avoid a deadlock in ptlrpc_free_committed() when it calls ptlrpc_free_req().
Likewise when ptlrpc_cleanup_client() calls ptlrpc_free_req().
A note for Mike in ll_recover() for when it is re-enabled:
We should not hold a spinlock over such a lengthy operation.
If necessary, drop spinlock, do operation, re-get spinlock, restart loop.
If we need to avoid re-processing items, then delete them from the list
as they are replayed and re-add at the tail of this list, so the next
item to process will always be at the head of the list.