[dm-devel] dm mpath: Fix a dm_blk_ioctl() deadlock

Bart Van Assche bart.vanassche at sandisk.com
Tue Jun 28 19:16:51 UTC 2016


On 06/28/2016 08:59 PM, Mike Snitzer wrote:
> Can we go back to what it is you've experienced?  is it that you have
> 'queue_if_no_path' enabled and are issuing ioctls to an mpath device
> (while removing underlying paths) you'll experience a live-lock (_not_
> deadlock) once no valid paths exist?
>
> If that isn't what you're hitting then I'd like to better understand how
> a request_queue that is "dying" isn't able to keep itself up enough to
> fail IO issued to it (to allow normal error handling to trap the IO
> failure).

Hello Mike,

Since I started testing kernel v4.7-rc<n> I noticed about twenty times 
that systemd-udevd got stuck in truncate_inode_pages(). I have not yet 
seen this with any older kernel version. queue_if_no_path is indeed 
enabled in my tests. The test I run consists of running fio on top of an 
mpath device and repeatedly removing and restoring the underlying 
devices. The test script is available at 
https://github.com/bvanassche/srp-test/blob/master/tests/02. Please let 
me know if you need more information.

Bart.




More information about the dm-devel mailing list