On Tue, Dec 21, 2021 at 10:14:56PM +0800, Ming Lei wrote: > Hello, > > dm-rq may be built on blk-mq device which marks BLK_MQ_F_BLOCKING, so > dm_mq_queue_rq() may become to sleep current context. > > Fixes the issue by allowing dm-rq to set BLK_MQ_F_BLOCKING in case that > any underlying queue is marked as BLK_MQ_F_BLOCKING. > > DM request queue is allocated before allocating tagset, this way is a > bit special, so we need to pre-allocate srcu payload, then use the queue > flag of QUEUE_FLAG_BLOCKING for locking dispatch. What is the benefit over just forcing bio-based dm-mpath for these devices?