Skip to content

Commit

Permalink
block: new end request handling interface should take unsigned byte c…
Browse files Browse the repository at this point in the history
…ounts

No point in passing signed integers as the byte count, they can never
be negative.

Signed-off-by: Jens Axboe <[email protected]>
  • Loading branch information
Jens Axboe committed Feb 1, 2008
1 parent 640e248 commit 22b1321
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 13 deletions.
16 changes: 9 additions & 7 deletions block/blk-core.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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);
}
Expand All @@ -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))
Expand Down Expand Up @@ -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);
}
Expand Down Expand Up @@ -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);
Expand Down
15 changes: 9 additions & 6 deletions include/linux/blkdev.h
Original file line number Diff line number Diff line change
Expand Up @@ -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 *);

/*
Expand Down

0 comments on commit 22b1321

Please sign in to comment.