diff options
Diffstat (limited to 'fs/direct-io.c')
| -rw-r--r-- | fs/direct-io.c | 13 | 
1 files changed, 2 insertions, 11 deletions
diff --git a/fs/direct-io.c b/fs/direct-io.c index 901dc55e9f5..b5928a7b6a5 100644 --- a/fs/direct-io.c +++ b/fs/direct-io.c @@ -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  |