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
index 7f478ae288af70d0246397270ad43d18fc7ff1f1,6a7566244de30bb72b6d779c38c9f0b8d65fd616..b645275dfe5f22ea9ce39be7757e219388cfc093
@@@ -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);
  
index f905768627368dc2b6c913cde8622b0b80e3d9ac,962012135b62acf7e956df6fc5780780c3f8a9c4..1310753a01e519e6de46e285cc99213e0ce26717
@@@ -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