[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