[dm-devel] Re: another multipath deadlock involving fs-writeback

goggin, edward egoggin at emc.com
Mon Mar 28 16:15:40 UTC 2005


On Thu, 24 Mar 2005 22:26:46 +0000, Alasdair G Kergon wrote:
> It should probably be setting the recent DM_SKIP_BDGET_FLAG 
> on every? dm ioctl.
> 
> i.e. call dm_task_no_open_count() in libdevmapper prior to 
> dm_task_run().

I see.  A recent change which I did not have in my
2.6.11-rc3 kernel but which I see is in the 2.6.12-rc1
kernel.  This code will certainly fix the deadlock problem
for any dm ioctl which is calling bdget_disk indirectly
from __dev_status, but ...

this will not address the case where bdget_disk is called
from __lock_fs and __unlock_fs.  This occurs in the code
path of multipath(8) suspending a dm mapped device which
currently has no valid paths while swapping the device's
map/table while some process which owns the __I_LOCK bit
of the same mapped device's block device inode is waiting
for dirty pages associated with the inode to be flushed.




More information about the dm-devel mailing list