diff options
author | Jens Axboe <jens.axboe@oracle.com> | 2008-01-31 14:36:19 +0300 |
---|---|---|
committer | Jens Axboe <jens.axboe@oracle.com> | 2008-02-01 11:26:33 +0300 |
commit | 22b132102f1540dd40f3e41df88796829b685f1a (patch) | |
tree | 20edc8316009b946ebd197b7aef7ccc041d02798 | |
parent | 640e248e44e2c550473550ca83668ceccad21dce (diff) | |
download | linux-22b132102f1540dd40f3e41df88796829b685f1a.tar.xz |
block: new end request handling interface should take unsigned byte counts
No point in passing signed integers as the byte count, they can never
be negative.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
-rw-r--r-- | block/blk-core.c | 16 | ||||
-rw-r--r-- | include/linux/blkdev.h | 15 |
2 files changed, 18 insertions, 13 deletions
diff --git a/block/blk-core.c b/block/blk-core.c index 8ff99440ee44..55cf293d907d 100644 --- a/block/blk-core.c +++ b/block/blk-core.c @@ -1846,8 +1846,9 @@ EXPORT_SYMBOL(end_request); * 0 - we are done with this request * 1 - this request is not freed yet, it still has pending buffers. **/ -static int blk_end_io(struct request *rq, int error, int nr_bytes, - int bidi_bytes, int (drv_callback)(struct request *)) +static int blk_end_io(struct request *rq, int error, unsigned int nr_bytes, + unsigned int bidi_bytes, + int (drv_callback)(struct request *)) { struct request_queue *q = rq->q; unsigned long flags = 0UL; @@ -1889,7 +1890,7 @@ static int blk_end_io(struct request *rq, int error, int nr_bytes, * 0 - we are done with this request * 1 - still buffers pending for this request **/ -int blk_end_request(struct request *rq, int error, int nr_bytes) +int blk_end_request(struct request *rq, int error, unsigned int nr_bytes) { return blk_end_io(rq, error, nr_bytes, 0, NULL); } @@ -1908,7 +1909,7 @@ EXPORT_SYMBOL_GPL(blk_end_request); * 0 - we are done with this request * 1 - still buffers pending for this request **/ -int __blk_end_request(struct request *rq, int error, int nr_bytes) +int __blk_end_request(struct request *rq, int error, unsigned int nr_bytes) { if (blk_fs_request(rq) || blk_pc_request(rq)) { if (__end_that_request_first(rq, error, nr_bytes)) @@ -1937,8 +1938,8 @@ EXPORT_SYMBOL_GPL(__blk_end_request); * 0 - we are done with this request * 1 - still buffers pending for this request **/ -int blk_end_bidi_request(struct request *rq, int error, int nr_bytes, - int bidi_bytes) +int blk_end_bidi_request(struct request *rq, int error, unsigned int nr_bytes, + unsigned int bidi_bytes) { return blk_end_io(rq, error, nr_bytes, bidi_bytes, NULL); } @@ -1969,7 +1970,8 @@ EXPORT_SYMBOL_GPL(blk_end_bidi_request); * this request still has pending buffers or * the driver doesn't want to finish this request yet. **/ -int blk_end_request_callback(struct request *rq, int error, int nr_bytes, +int blk_end_request_callback(struct request *rq, int error, + unsigned int nr_bytes, int (drv_callback)(struct request *)) { return blk_end_io(rq, error, nr_bytes, 0, drv_callback); diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h index e18d4192f6e8..cf170391c474 100644 --- a/include/linux/blkdev.h +++ b/include/linux/blkdev.h @@ -655,15 +655,18 @@ static inline void blk_run_address_space(struct address_space *mapping) * blk_end_request() for parts of the original function. * This prevents code duplication in drivers. */ -extern int blk_end_request(struct request *rq, int error, int nr_bytes); -extern int __blk_end_request(struct request *rq, int error, int nr_bytes); -extern int blk_end_bidi_request(struct request *rq, int error, int nr_bytes, - int bidi_bytes); +extern int blk_end_request(struct request *rq, int error, + unsigned int nr_bytes); +extern int __blk_end_request(struct request *rq, int error, + unsigned int nr_bytes); +extern int blk_end_bidi_request(struct request *rq, int error, + unsigned int nr_bytes, unsigned int bidi_bytes); extern void end_request(struct request *, int); extern void end_queued_request(struct request *, int); extern void end_dequeued_request(struct request *, int); -extern int blk_end_request_callback(struct request *rq, int error, int nr_bytes, - int (drv_callback)(struct request *)); +extern int blk_end_request_callback(struct request *rq, int error, + unsigned int nr_bytes, + int (drv_callback)(struct request *)); extern void blk_complete_request(struct request *); /* |