[dm-devel] [PATCH] a deadlock bug in the kernel-side device mapper code

Alasdair G Kergon agk at redhat.com
Tue Nov 10 00:24:45 UTC 2009


On Mon, Nov 09, 2009 at 09:57:30AM -0800, malahal at us.ibm.com wrote:
> Why do we need dm_get() and dm_put() in dm_copy_name_and_uuid()?
> dm_copy_name_and_uuid() already has access to md and there shouldn't be
> any need to hold a reference. 

As Mike points out, struct dm_uevent holds a reference without incrementing the
ref count.

dm_path_uevent() already takes a reference - can everything get simplified
if we move this code there (and replace the new mutex with a spinlock of
course)?  Then dm_send_uevents won't need to use 'md'.

Alasdair




More information about the dm-devel mailing list