[dm-devel] DMF_FREEING flag checking

Alasdair G Kergon agk at redhat.com
Mon Mar 10 12:29:46 UTC 2008


On Mon, Mar 10, 2008 at 12:18:00PM +0000, Alasdair G Kergon wrote:
> The question is, are there any
> *actual* code paths which could lead to that happening, where existing
> locking/serialisation is inadequate?
  
The final dm_put that triggers the deletion (md->holders dropping to 0)
is in __hash_remove() while holding _hash_lock - so I don't think the dm_get()
calls you mention can run in parallel.

There are other dm_get() calls outside _hash_lock, but I think the
argument is that the code paths containing them can't be reached
if the final dm_put() has started - they all require something to have
the device open.

Alasdair
-- 
agk at redhat.com




More information about the dm-devel mailing list