yet another approach to fix the loop lock order inversions v4
Hi all,
this series uses the approach from Tetsuo to delay the destroy_workueue
call, extended by a delayed teardown of the workers to fix a potential
race window then the workqueue can be still round after finishing the
commands.
Changes since v3:
- change bd_openers into a atomic_t, including a bunch of cleanups
and fix found while adding those
Changes since v2:
- rebased to the lastest block for-next tree, which has the async
clear reverted and ->free_disk
- impkement ->free_disk for loop to handle open vs delete races
more gracefully
- get rid of lo_refcnt entirely
Changes since v1:
- add comments to document the lo_refcnt synchronization
- fix comment typos
Reply to: