On Wed, Oct 26, 2016 at 03:51:01PM -0700, Linus Torvalds wrote: > Dave: it might be a good idea to split that "WARN_ON_ONCE()" in > blk_mq_merge_queue_io() into two, since right now it can trigger both > for the > > blk_mq_bio_to_request(rq, bio); > > path _and_ for the > > if (!blk_mq_attempt_merge(q, ctx, bio)) { > blk_mq_bio_to_request(rq, bio); > goto insert_rq; > > path. If you split it into two: one before that "insert_rq:" label, > and one before the "goto insert_rq" thing, then we could see if it is > just one of the blk_mq_merge_queue_io() cases (or both) that is > broken..
It's the latter of the two. [ 12.302392] WARNING: CPU: 3 PID: 272 at block/blk-mq.c:1191 blk_sq_make_request+0x320/0x4d0 Dave