block: export blk_finish_request
authorChristoph Hellwig <hch@lst.de>
Wed, 16 Apr 2014 07:44:59 +0000 (09:44 +0200)
committerJens Axboe <axboe@fb.com>
Wed, 16 Apr 2014 20:15:25 +0000 (14:15 -0600)
This allows to mirror the blk-mq code flow for more a more readable I/O
completion handler in SCSI.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jens Axboe <axboe@fb.com>
block/blk-core.c
include/linux/blkdev.h

index 90b6e63b87696b8b6f2e3575b1f1fe4c4fb011ac..c4269701cb4f796a6f48147c943f579621606cd5 100644 (file)
@@ -2497,7 +2497,7 @@ EXPORT_SYMBOL_GPL(blk_unprep_request);
 /*
  * queue lock must be held
  */
-static void blk_finish_request(struct request *req, int error)
+void blk_finish_request(struct request *req, int error)
 {
        if (blk_rq_tagged(req))
                blk_queue_end_tag(req->q, req);
@@ -2523,6 +2523,7 @@ static void blk_finish_request(struct request *req, int error)
                __blk_put_request(req->q, req);
        }
 }
+EXPORT_SYMBOL(blk_finish_request);
 
 /**
  * blk_end_bidi_request - Complete a bidi request
index 71288083a46fb875c3fca56bacee3d66719913a5..20b26d4e53a2ffa1f9717531c752e62cf1833b9f 100644 (file)
@@ -936,6 +936,7 @@ extern struct request *blk_fetch_request(struct request_queue *q);
  */
 extern bool blk_update_request(struct request *rq, int error,
                               unsigned int nr_bytes);
+extern void blk_finish_request(struct request *rq, int error);
 extern bool blk_end_request(struct request *rq, int error,
                            unsigned int nr_bytes);
 extern void blk_end_request_all(struct request *rq, int error);