Thread (2 messages) 2 messages, 2 authors, 2018-11-30

Re: [PATCH 3/3] block: return just one value from part_in_flight

From: Mike Snitzer <hidden>
Date: 2018-11-30 00:30:23
Also in: dm-devel

On Tue, Nov 27 2018 at  7:42pm -0500,
Mikulas Patocka [off-list ref] wrote:
quoted hunk ↗ jump to hunk
The previous patches deleted all the code that needed the second value
returned from part_in_flight - now the kernel only uses the first value.

Consequently, part_in_flight (and blk_mq_in_flight) may be changed so that
it only returns one value.

This patch just refactors the code, there's no functional change.

Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>

---
 block/blk-mq.c            |    6 ++++--
 block/blk-mq.h            |    3 +--
 block/genhd.c             |   32 +++++++++++---------------------
 block/partition-generic.c |    6 +++---
 include/linux/genhd.h     |    3 +--
 5 files changed, 20 insertions(+), 30 deletions(-)

Index: linux-block/block/blk-mq.c
===================================================================
--- linux-block.orig/block/blk-mq.c	2018-11-28 00:39:16.000000000 +0100
+++ linux-block/block/blk-mq.c	2018-11-28 00:39:16.000000000 +0100
@@ -113,13 +113,15 @@ static bool blk_mq_check_inflight(struct
 	return true;
 }
 
-void blk_mq_in_flight(struct request_queue *q, struct hd_struct *part,
-		      unsigned int inflight[2])
+unsigned int blk_mq_in_flight(struct request_queue *q, struct hd_struct *part)
 {
+	unsigned inflight[2];
 	struct mq_inflight mi = { .part = part, .inflight = inflight, };
 
 	inflight[0] = inflight[1] = 0;
 	blk_mq_queue_tag_busy_iter(q, blk_mq_check_inflight, &mi);
+
+	return inflight[0];
 }

I don't think this change goes deep enough.  You're leaving unnecessary
work (relative to mi->inflight[1]) in blk_mq_check_inflight().

Mike
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help