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>
This commit is contained in:
parent
640e248e44
commit
22b132102f
@ -1846,8 +1846,9 @@ EXPORT_SYMBOL(end_request);
|
|||||||
* 0 - we are done with this request
|
* 0 - we are done with this request
|
||||||
* 1 - this request is not freed yet, it still has pending buffers.
|
* 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,
|
static int blk_end_io(struct request *rq, int error, unsigned int nr_bytes,
|
||||||
int bidi_bytes, int (drv_callback)(struct request *))
|
unsigned int bidi_bytes,
|
||||||
|
int (drv_callback)(struct request *))
|
||||||
{
|
{
|
||||||
struct request_queue *q = rq->q;
|
struct request_queue *q = rq->q;
|
||||||
unsigned long flags = 0UL;
|
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
|
* 0 - we are done with this request
|
||||||
* 1 - still buffers pending for 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);
|
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
|
* 0 - we are done with this request
|
||||||
* 1 - still buffers pending for 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 (blk_fs_request(rq) || blk_pc_request(rq)) {
|
||||||
if (__end_that_request_first(rq, error, nr_bytes))
|
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
|
* 0 - we are done with this request
|
||||||
* 1 - still buffers pending for this request
|
* 1 - still buffers pending for this request
|
||||||
**/
|
**/
|
||||||
int blk_end_bidi_request(struct request *rq, int error, int nr_bytes,
|
int blk_end_bidi_request(struct request *rq, int error, unsigned int nr_bytes,
|
||||||
int bidi_bytes)
|
unsigned int bidi_bytes)
|
||||||
{
|
{
|
||||||
return blk_end_io(rq, error, nr_bytes, bidi_bytes, NULL);
|
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
|
* this request still has pending buffers or
|
||||||
* the driver doesn't want to finish this request yet.
|
* 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 *))
|
int (drv_callback)(struct request *))
|
||||||
{
|
{
|
||||||
return blk_end_io(rq, error, nr_bytes, 0, drv_callback);
|
return blk_end_io(rq, error, nr_bytes, 0, drv_callback);
|
||||||
|
@ -655,15 +655,18 @@ static inline void blk_run_address_space(struct address_space *mapping)
|
|||||||
* blk_end_request() for parts of the original function.
|
* blk_end_request() for parts of the original function.
|
||||||
* This prevents code duplication in drivers.
|
* 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,
|
||||||
extern int __blk_end_request(struct request *rq, int error, int nr_bytes);
|
unsigned int nr_bytes);
|
||||||
extern int blk_end_bidi_request(struct request *rq, int error, int nr_bytes,
|
extern int __blk_end_request(struct request *rq, int error,
|
||||||
int bidi_bytes);
|
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_request(struct request *, int);
|
||||||
extern void end_queued_request(struct request *, int);
|
extern void end_queued_request(struct request *, int);
|
||||||
extern void end_dequeued_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,
|
extern int blk_end_request_callback(struct request *rq, int error,
|
||||||
int (drv_callback)(struct request *));
|
unsigned int nr_bytes,
|
||||||
|
int (drv_callback)(struct request *));
|
||||||
extern void blk_complete_request(struct request *);
|
extern void blk_complete_request(struct request *);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
Loading…
Reference in New Issue
Block a user