blk_end_request: add/export functions to get request size (take 4)

This patch adds/exports functions to get the size of request in bytes.
They are useful because blk_end_request interfaces take bytes
as a completed I/O size instead of sectors.

Signed-off-by: Kiyoshi Ueda <k-ueda@ct.jp.nec.com>
Signed-off-by: Jun'ichi Nomura <j-nomura@ce.jp.nec.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
This commit is contained in:
Kiyoshi Ueda 2007-12-11 17:41:17 -05:00 committed by Jens Axboe
parent 336cdb4003
commit 3b11313a6c
2 changed files with 30 additions and 3 deletions

View file

@ -736,6 +736,14 @@ extern void end_queued_request(struct request *, int);
extern void end_dequeued_request(struct request *, int);
extern void blk_complete_request(struct request *);
/*
* blk_end_request() takes bytes instead of sectors as a complete size.
* blk_rq_bytes() returns bytes left to complete in the entire request.
* blk_rq_cur_bytes() returns bytes left to complete in the current segment.
*/
extern unsigned int blk_rq_bytes(struct request *rq);
extern unsigned int blk_rq_cur_bytes(struct request *rq);
/*
* end_that_request_first/chunk() takes an uptodate argument. we account
* any value <= as an io error. 0 means -EIO for compatability reasons,