aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/blkdev.h
diff options
context:
space:
mode:
authorKiyoshi Ueda <k-ueda@ct.jp.nec.com>2007-12-11 17:41:17 -0500
committerJens Axboe <jens.axboe@oracle.com>2008-01-28 10:35:56 +0100
commit3b11313a6c2a42425bf06e92528bda6affd58dec (patch)
treec2d550b2954c106387f1ebe6badb387603002202 /include/linux/blkdev.h
parentblk_end_request: add new request completion interface (take 4) (diff)
downloadlinux-dev-3b11313a6c2a42425bf06e92528bda6affd58dec.tar.xz
linux-dev-3b11313a6c2a42425bf06e92528bda6affd58dec.zip
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>
Diffstat (limited to 'include/linux/blkdev.h')
-rw-r--r--include/linux/blkdev.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
index 3b212f02db8d..aa2341df7932 100644
--- a/include/linux/blkdev.h
+++ b/include/linux/blkdev.h
@@ -737,6 +737,14 @@ 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,
* any other < 0 value is the direct error type. An uptodate value of