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

goggin, edward egoggin at emc.com
Thu Mar 24 22:18:23 UTC 2005


This one involves a process waiting for i/o to complete on its multipath
mapped device's block device inode after having set the inode's
__I_LOCK state bit and multipath(8) or multipathd(8) (both in my case)
needing to obtain multipath specific device-mapper status information
via ctl_ioctl() call to table_status() from the same mapped device in
order to obtain the kernel's state for the path.  Looks like another
call to bdget_disk() is the problem, this one called from __dev_status()
called from table_status().

Of course the i/o for the device doesn't complete because the path
state in the kernel for the mapped device indicates failure for all paths
as part of an EMC CLARiion NDU test.

In this case, the first process has invoked sync(1) while the one on
March 8th involved balance_dirty_pages() called as part of servicing
write(2).




More information about the dm-devel mailing list