[PATCH 6.1 54/71] blk-wbt: pass a gendisk to wbt_init

From: Sasha Levin
Date: Wed Mar 13 2024 - 13:16:09 EST


From: Christoph Hellwig <hch@xxxxxx>

[ Upstream commit 958f29654747a54f2272eb478e493eb97f492e06 ]

Pass a gendisk to wbt_init to prepare for phasing out usage of the
request_queue in the blk-cgroup code.

Signed-off-by: Christoph Hellwig <hch@xxxxxx>
Reviewed-by: Andreas Herrmann <aherrmann@xxxxxxx>
Acked-by: Tejun Heo <tj@xxxxxxxxxx>
Link: https://lore.kernel.org/r/20230203150400.3199230-10-hch@xxxxxx
Signed-off-by: Jens Axboe <axboe@xxxxxxxxx>
Stable-dep-of: f814bdda774c ("blk-wbt: Fix detection of dirty-throttled tasks")
Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>
---
block/blk-sysfs.c | 2 +-
block/blk-wbt.c | 5 +++--
block/blk-wbt.h | 4 ++--
3 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/block/blk-sysfs.c b/block/blk-sysfs.c
index c59c4d3ee7a27..31f53ef01982d 100644
--- a/block/blk-sysfs.c
+++ b/block/blk-sysfs.c
@@ -488,7 +488,7 @@ static ssize_t queue_wb_lat_store(struct request_queue *q, const char *page,

rqos = wbt_rq_qos(q);
if (!rqos) {
- ret = wbt_init(q);
+ ret = wbt_init(q->disk);
if (ret)
return ret;
}
diff --git a/block/blk-wbt.c b/block/blk-wbt.c
index 8d4f075f13e2f..95bec9244e9f3 100644
--- a/block/blk-wbt.c
+++ b/block/blk-wbt.c
@@ -658,7 +658,7 @@ void wbt_enable_default(struct gendisk *disk)
return;

if (queue_is_mq(q) && !disable_flag)
- wbt_init(q);
+ wbt_init(disk);
}
EXPORT_SYMBOL_GPL(wbt_enable_default);

@@ -822,8 +822,9 @@ static struct rq_qos_ops wbt_rqos_ops = {
#endif
};

-int wbt_init(struct request_queue *q)
+int wbt_init(struct gendisk *disk)
{
+ struct request_queue *q = disk->queue;
struct rq_wb *rwb;
int i;
int ret;
diff --git a/block/blk-wbt.h b/block/blk-wbt.h
index 58c226fe33d48..8170439b89d6e 100644
--- a/block/blk-wbt.h
+++ b/block/blk-wbt.h
@@ -88,7 +88,7 @@ static inline unsigned int wbt_inflight(struct rq_wb *rwb)

#ifdef CONFIG_BLK_WBT

-int wbt_init(struct request_queue *);
+int wbt_init(struct gendisk *disk);
void wbt_disable_default(struct gendisk *disk);
void wbt_enable_default(struct gendisk *disk);

@@ -101,7 +101,7 @@ u64 wbt_default_latency_nsec(struct request_queue *);

#else

-static inline int wbt_init(struct request_queue *q)
+static inline int wbt_init(struct gendisk *disk)
{
return -EINVAL;
}
--
2.43.0