[dm-devel] dm: free io_barrier after blk_cleanup_queue call
Mike Snitzer
snitzer at redhat.com
Mon Oct 10 13:25:42 UTC 2016
On Mon, Oct 10 2016 at 8:35am -0400,
Tahsin Erdogan <tahsin at google.com> wrote:
> dm_old_request_fn() has paths that access md->io_barrier. The party
> destroying io_barrier should ensure that no future execution
> of dm_old_request_fn() is possible. Move destruction to below
> blk_cleanup_queue() to ensure this.
I have to believe this was born out of code inspection rather than
actual need (due to crash, etc)?
The cleanup order isn't relevant. The reference counting of a DM device
governs whether a DM device (and its associated 'struct mapped_device')
can be destroyed. Please have a look at __dm_destroy, particularly:
* No one should increment the reference count of the mapped_device,
* after the mapped_device state becomes DMF_FREEING.
Mike
More information about the dm-devel
mailing list