From: Jens Axboe <jens.axboe@oracle.com>
Date: Tue, 26 Aug 2008 11:34:34 +0000 (+0200)
Subject: block: don't use bio_has_data() in the completion path
X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=605401618ce4409045bc4db86e88d4b38f2ad585;p=GitHub%2Fexynos8895%2Fandroid_kernel_samsung_universal8895.git

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: Jens Axboe <jens.axboe@oracle.com>
---

diff --git a/block/blk-core.c b/block/blk-core.c
index b9a252cae4df..5bf806adc770 100644
--- a/block/blk-core.c
+++ b/block/blk-core.c
@@ -1817,7 +1817,7 @@ static int blk_end_io(struct request *rq, int error, unsigned int nr_bytes,
 	struct request_queue *q = rq->q;
 	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))
 			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)
 {
-	if ((bio_has_data(rq->bio) || blk_discard_rq(rq)) &&
-	    __end_that_request_first(rq, error, nr_bytes))
+	if (rq->bio && __end_that_request_first(rq, error, nr_bytes))
 		return 1;
 
 	add_disk_randomness(rq->rq_disk);