X-Git-Url: http://git.monstr.eu/?a=blobdiff_plain;f=block%2Fblk-mq.c;h=d69ca91fbc8b121b40a2f517b61f8db5fdadeeb6;hb=7993e65fdd0fe07beb9f36f998f9bbef2c0ee391;hp=f3bf3358a3bb2ebe677c0c3daf7dd739e9687173;hpb=52517d9c0c011272950e1d88f1ced297daa001e9;p=linux-2.6-microblaze.git diff --git a/block/blk-mq.c b/block/blk-mq.c index f3bf3358a3bb..d69ca91fbc8b 100644 --- a/block/blk-mq.c +++ b/block/blk-mq.c @@ -736,6 +736,10 @@ static void blk_complete_request(struct request *req) /* Completion has already been traced */ bio_clear_flag(bio, BIO_TRACE_COMPLETION); + + if (req_op(req) == REQ_OP_ZONE_APPEND) + bio->bi_iter.bi_sector = req->__sector; + if (!is_flush) bio_endio(bio); bio = next; @@ -2922,6 +2926,8 @@ blk_status_t blk_insert_cloned_request(struct request_queue *q, struct request * */ blk_mq_run_dispatch_ops(rq->q, ret = blk_mq_request_issue_directly(rq, true)); + if (ret) + blk_account_io_done(rq, ktime_get_ns()); return ret; } EXPORT_SYMBOL_GPL(blk_insert_cloned_request);