OK, I think we're getting there now. I dropped the RQF_RESERVED and the tag helper, since mtip32xx can just call blk_rq_is_passthrough() and know it's an internal request. We can do another cleanup series of mtip32xx making the internal requests use the normal blk end_io infrastructure, and use the provider helpers for mapping data. I think that should be done separately as a cleanup, keeping this series as a straight forward conversion. I've tested this on the following card: [ 56.394162] mtip32xx 0000:81:00.0: Model: P320h-MTFDGAR350SAH and it works fine for me. -- Jens Axboe