On 04/27/2017 04:51 PM, Jens Axboe wrote: > This attempts a cleaner solution, where we simply mark a request > as having come from the reserved pool. mtip32xx can then be > converted to using that info, and moving it's internal command > issue over to the regular block infrastructure. > > First three are prep/cleanup patches for mtip32xx, which an easier > conversion of the driver. I forgot one hunk when I split it up. When I tested it just now, you end up with a warning spew from blk_execute_rq_nowait(), since the request is not marked as passthrough. This needs to go on top of 5/6 to squash that: diff --git a/drivers/block/mtip32xx/mtip32xx.c b/drivers/block/mtip32xx/mtip32xx.c index cf11d36..5c849ff 100644 --- a/drivers/block/mtip32xx/mtip32xx.c +++ b/drivers/block/mtip32xx/mtip32xx.c @@ -195,7 +195,7 @@ static struct mtip_cmd *mtip_get_int_command(struct driver_data *dd) if (mtip_check_surprise_removal(dd->pdev)) return NULL; - rq = blk_mq_alloc_request(dd->queue, 0, BLK_MQ_REQ_RESERVED); + rq = blk_mq_alloc_request(dd->queue, REQ_OP_DRV_IN, BLK_MQ_REQ_RESERVED); if (IS_ERR(rq)) return NULL; -- Jens Axboe