Skip to content
Snippets Groups Projects
Commit 0ba38e94 authored by Andreas Dilger's avatar Andreas Dilger
Browse files

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.
parent 30067c13
No related branches found
No related tags found
No related merge requests found
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment