On Fri, May 04 2018 at 10:36am -0400, Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> wrote: > In commit 052189a2ec95 ("dm: remove superfluous irq disablement in > dm_request_fn") the spin_lock_irq() was replaced with spin_lock() + a > check for disabled interrupts. Later the locking part was removed in > commit 2eb6e1e3aa87 ("dm: submit stacked requests in irq enabled > context") but the BUG_ON() check remained. > > Since the original purpose for the "are-irqs-off" check is gone (the > ->queue_lock has been removed) remove it. > > Cc: Keith Busch <keith.busch@xxxxxxxxx> > Cc: Mike Snitzer <snitzer@xxxxxxxxxx> > Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> > --- > drivers/md/dm-rq.c | 1 - > 1 file changed, 1 deletion(-) > > diff --git a/drivers/md/dm-rq.c b/drivers/md/dm-rq.c > index bf0b840645cc..1a524f992f72 100644 > --- a/drivers/md/dm-rq.c > +++ b/drivers/md/dm-rq.c > @@ -688,7 +688,6 @@ static void dm_old_request_fn(struct request_queue *q) > /* Establish tio->ti before queuing work (map_tio_request) */ > tio->ti = ti; > kthread_queue_work(&md->kworker, &tio->work); > - BUG_ON(!irqs_disabled()); > } > } > > -- > 2.17.0 > the queue_lock hasn't been removed for the old .request_fn path in block core -- which dm_old_request_fn is providing the hook for. This BUG_ON() documents that reality. Commit 2eb6e1e3aa87 made it such that work is queued into an irq enabled context. But it never changed the fact that old block core's .request_fn (and as such dm_old_request_fn) is called with irqs disabled. So all said: Nacked-by: Mike Snitzer <snitzer@xxxxxxxxxx> -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel