Merge tag 'v4.20-rc6' into for-4.21/block
authorJens Axboe <axboe@kernel.dk>
Mon, 10 Dec 2018 00:45:40 +0000 (17:45 -0700)
committerJens Axboe <axboe@kernel.dk>
Mon, 10 Dec 2018 00:45:40 +0000 (17:45 -0700)
Pull in v4.20-rc6 to resolve the conflict in NVMe, but also to get the
two corruption fixes. We're going to be overhauling the direct dispatch
path, and we need to do that on top of the changes we made for that
in mainline.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
1  2 
block/bfq-iosched.c
block/blk-mq.c
drivers/nvme/host/core.c
drivers/nvme/target/rdma.c
fs/iomap.c

Simple merge
diff --cc block/blk-mq.c
@@@ -1845,9 -1778,9 +1845,9 @@@ static void blk_mq_try_issue_directly(s
  
        hctx_lock(hctx, &srcu_idx);
  
 -      ret = __blk_mq_try_issue_directly(hctx, rq, cookie, false);
 +      ret = __blk_mq_try_issue_directly(hctx, rq, cookie, false, true);
        if (ret == BLK_STS_RESOURCE || ret == BLK_STS_DEV_RESOURCE)
-               blk_mq_sched_insert_request(rq, false, true, false);
+               blk_mq_request_bypass_insert(rq, true);
        else if (ret != BLK_STS_OK)
                blk_mq_end_request(rq, ret);
  
@@@ -856,8 -843,13 +858,14 @@@ static void nvme_keep_alive_end_io(stru
                return;
        }
  
-       schedule_delayed_work(&ctrl->ka_work, ctrl->kato * HZ);
 +      ctrl->comp_seen = false;
+       spin_lock_irqsave(&ctrl->lock, flags);
+       if (ctrl->state == NVME_CTRL_LIVE ||
+           ctrl->state == NVME_CTRL_CONNECTING)
+               startka = true;
+       spin_unlock_irqrestore(&ctrl->lock, flags);
+       if (startka)
+               schedule_delayed_work(&ctrl->ka_work, ctrl->kato * HZ);
  }
  
  static int nvme_keep_alive(struct nvme_ctrl *ctrl)
Simple merge
diff --cc fs/iomap.c
Simple merge