On Mon, Oct 10 2016 at 8:35am -0400, Tahsin Erdogan <tahsin@xxxxxxxxxx> 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 -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel