This is a note to let you know that I've just added the patch titled blk-rq-qos: constify rq_qos_ops to the 6.1-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: blk-rq-qos-constify-rq_qos_ops.patch and it can be found in the queue-6.1 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <stable@xxxxxxxxxxxxxxx> know about it. commit aa235b97093a21478dc99fd9638fc62d88af5f17 Author: Christoph Hellwig <hch@xxxxxx> Date: Fri Feb 3 16:03:55 2023 +0100 blk-rq-qos: constify rq_qos_ops [ Upstream commit 3963d84df7974b6687cb34bce3b9e0b2686f839c ] These op vectors are constant, so mark them const. 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-15-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> diff --git a/block/blk-iocost.c b/block/blk-iocost.c index a8a7d2ce927b9..78958c5bece08 100644 --- a/block/blk-iocost.c +++ b/block/blk-iocost.c @@ -2836,7 +2836,7 @@ static void ioc_rqos_exit(struct rq_qos *rqos) kfree(ioc); } -static struct rq_qos_ops ioc_rqos_ops = { +static const struct rq_qos_ops ioc_rqos_ops = { .throttle = ioc_rqos_throttle, .merge = ioc_rqos_merge, .done_bio = ioc_rqos_done_bio, diff --git a/block/blk-iolatency.c b/block/blk-iolatency.c index c64cfec34ac37..b0f8550f87cd2 100644 --- a/block/blk-iolatency.c +++ b/block/blk-iolatency.c @@ -651,7 +651,7 @@ static void blkcg_iolatency_exit(struct rq_qos *rqos) kfree(blkiolat); } -static struct rq_qos_ops blkcg_iolatency_ops = { +static const struct rq_qos_ops blkcg_iolatency_ops = { .throttle = blkcg_iolatency_throttle, .done_bio = blkcg_iolatency_done_bio, .exit = blkcg_iolatency_exit, diff --git a/block/blk-rq-qos.c b/block/blk-rq-qos.c index 14bee1bd76136..8e83734cfe8db 100644 --- a/block/blk-rq-qos.c +++ b/block/blk-rq-qos.c @@ -296,7 +296,7 @@ void rq_qos_exit(struct request_queue *q) } int rq_qos_add(struct rq_qos *rqos, struct gendisk *disk, enum rq_qos_id id, - struct rq_qos_ops *ops) + const struct rq_qos_ops *ops) { struct request_queue *q = disk->queue; diff --git a/block/blk-rq-qos.h b/block/blk-rq-qos.h index 22552785aa31e..2b7b668479f71 100644 --- a/block/blk-rq-qos.h +++ b/block/blk-rq-qos.h @@ -25,7 +25,7 @@ struct rq_wait { }; struct rq_qos { - struct rq_qos_ops *ops; + const struct rq_qos_ops *ops; struct request_queue *q; enum rq_qos_id id; struct rq_qos *next; @@ -86,7 +86,7 @@ static inline void rq_wait_init(struct rq_wait *rq_wait) } int rq_qos_add(struct rq_qos *rqos, struct gendisk *disk, enum rq_qos_id id, - struct rq_qos_ops *ops); + const struct rq_qos_ops *ops); void rq_qos_del(struct rq_qos *rqos); typedef bool (acquire_inflight_cb_t)(struct rq_wait *rqw, void *private_data); diff --git a/block/blk-wbt.c b/block/blk-wbt.c index aec4e37c89c4a..d9398347b08d8 100644 --- a/block/blk-wbt.c +++ b/block/blk-wbt.c @@ -808,7 +808,7 @@ static const struct blk_mq_debugfs_attr wbt_debugfs_attrs[] = { }; #endif -static struct rq_qos_ops wbt_rqos_ops = { +static const struct rq_qos_ops wbt_rqos_ops = { .throttle = wbt_wait, .issue = wbt_issue, .track = wbt_track,