[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Mon, 10 Oct 2016 09:25:42 -0400
From: Mike Snitzer <snitzer@...hat.com>
To: Tahsin Erdogan <tahsin@...gle.com>
Cc: Alasdair Kergon <agk@...hat.com>, dm-devel@...hat.com,
Shaohua Li <shli@...nel.org>, linux-raid@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: dm: free io_barrier after blk_cleanup_queue call
On Mon, Oct 10 2016 at 8:35am -0400,
Tahsin Erdogan <tahsin@...gle.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
Powered by blists - more mailing lists