Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 60540161 authored by Jens Axboe's avatar Jens Axboe
Browse files

block: don't use bio_has_data() in the completion path



We should just check for rq->bio, as that is really the information
we are looking for. Even if the bio attached doesn't carry data,
we still need to do IO post processing on it.

Signed-off-by: default avatarJens Axboe <jens.axboe@oracle.com>
parent ab780f1e
Loading
Loading
Loading
Loading
+2 −3
Original line number Original line Diff line number Diff line
@@ -1817,7 +1817,7 @@ static int blk_end_io(struct request *rq, int error, unsigned int nr_bytes,
	struct request_queue *q = rq->q;
	struct request_queue *q = rq->q;
	unsigned long flags = 0UL;
	unsigned long flags = 0UL;


	if (bio_has_data(rq->bio) || blk_discard_rq(rq)) {
	if (rq->bio) {
		if (__end_that_request_first(rq, error, nr_bytes))
		if (__end_that_request_first(rq, error, nr_bytes))
			return 1;
			return 1;


@@ -1875,8 +1875,7 @@ EXPORT_SYMBOL_GPL(blk_end_request);
 **/
 **/
int __blk_end_request(struct request *rq, int error, unsigned int nr_bytes)
int __blk_end_request(struct request *rq, int error, unsigned int nr_bytes)
{
{
	if ((bio_has_data(rq->bio) || blk_discard_rq(rq)) &&
	if (rq->bio && __end_that_request_first(rq, error, nr_bytes))
	    __end_that_request_first(rq, error, nr_bytes))
		return 1;
		return 1;


	add_disk_randomness(rq->rq_disk);
	add_disk_randomness(rq->rq_disk);