Merge tag 'for-linus-20180803' of git://git.kernel.dk/linux-block
authorLinus Torvalds <torvalds@linux-foundation.org>
Fri, 3 Aug 2018 17:43:56 +0000 (10:43 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 3 Aug 2018 17:43:56 +0000 (10:43 -0700)
Pull block fix from Jens Axboe:
 "Just a single fix, from Ming, fixing a regression in this cycle where
  the busy tag iteration was changed to only calling the callback
  function for requests that are started. We really want all non-free
  requests.

  This fixes a boot regression on certain VM setups"

* tag 'for-linus-20180803' of git://git.kernel.dk/linux-block:
  blk-mq: fix blk_mq_tagset_busy_iter

block/blk-mq-tag.c

index 09b2ee6694fb16858a104b7021b986aff603a91a..3de0836163c2c5c4800677878a2116738fb43a9c 100644 (file)
@@ -271,7 +271,7 @@ static bool bt_tags_iter(struct sbitmap *bitmap, unsigned int bitnr, void *data)
         * test and set the bit before assining ->rqs[].
         */
        rq = tags->rqs[bitnr];
-       if (rq && blk_mq_rq_state(rq) == MQ_RQ_IN_FLIGHT)
+       if (rq && blk_mq_request_started(rq))
                iter_data->fn(rq, iter_data->data, reserved);
 
        return true;