Drop 'size' argument from bio_endio and bi_end_io
As bi_end_io is only called once when the reqeust is complete, the 'size' argument is now redundant. Remove it. Now there is no need for bio_endio to subtract the size completed from bi_size. So don't do that either. While we are at it, change bi_end_io to return void. Signed-off-by: Neil Brown <neilb@suse.de> Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
This commit is contained in:
@@ -264,15 +264,12 @@ static int dio_bio_complete(struct dio *dio, struct bio *bio);
|
||||
/*
|
||||
* Asynchronous IO callback.
|
||||
*/
|
||||
static int dio_bio_end_aio(struct bio *bio, unsigned int bytes_done, int error)
|
||||
static void dio_bio_end_aio(struct bio *bio, int error)
|
||||
{
|
||||
struct dio *dio = bio->bi_private;
|
||||
unsigned long remaining;
|
||||
unsigned long flags;
|
||||
|
||||
if (bio->bi_size)
|
||||
return 1;
|
||||
|
||||
/* cleanup the bio */
|
||||
dio_bio_complete(dio, bio);
|
||||
|
||||
@@ -287,8 +284,6 @@ static int dio_bio_end_aio(struct bio *bio, unsigned int bytes_done, int error)
|
||||
aio_complete(dio->iocb, ret, 0);
|
||||
kfree(dio);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -298,21 +293,17 @@ static int dio_bio_end_aio(struct bio *bio, unsigned int bytes_done, int error)
|
||||
* During I/O bi_private points at the dio. After I/O, bi_private is used to
|
||||
* implement a singly-linked list of completed BIOs, at dio->bio_list.
|
||||
*/
|
||||
static int dio_bio_end_io(struct bio *bio, unsigned int bytes_done, int error)
|
||||
static void dio_bio_end_io(struct bio *bio, int error)
|
||||
{
|
||||
struct dio *dio = bio->bi_private;
|
||||
unsigned long flags;
|
||||
|
||||
if (bio->bi_size)
|
||||
return 1;
|
||||
|
||||
spin_lock_irqsave(&dio->bio_lock, flags);
|
||||
bio->bi_private = dio->bio_list;
|
||||
dio->bio_list = bio;
|
||||
if (--dio->refcount == 1 && dio->waiter)
|
||||
wake_up_process(dio->waiter);
|
||||
spin_unlock_irqrestore(&dio->bio_lock, flags);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
|
Reference in New Issue
Block a user