diff mbox series

blk-wbt: fix that 'rwb->wc' is always set to 1 in wbt_init()

Message ID 20221009101038.1692875-1-yukuai1@huaweicloud.com (mailing list archive)
State New, archived
Headers show
Series blk-wbt: fix that 'rwb->wc' is always set to 1 in wbt_init() | expand

Commit Message

Yu Kuai Oct. 9, 2022, 10:10 a.m. UTC
From: Yu Kuai <yukuai3@huawei.com>

commit 8c5035dfbb94 ("blk-wbt: call rq_qos_add() after wb_normal is
initialized") moves wbt_set_write_cache() before rq_qos_add(), which
is wrong because wbt_rq_qos() is still NULL.

Fix the problem by removing wbt_set_write_cache() and setting 'rwb->wc'
directly. Noted that this patch also remove the redundant setting of
'rab->wc'.

Fixes: 8c5035dfbb94 ("blk-wbt: call rq_qos_add() after wb_normal is initialized")
Reported-by: kernel test robot <yujie.liu@intel.com>
Link: https://lore.kernel.org/r/202210081045.77ddf59b-yujie.liu@intel.com
Signed-off-by: Yu Kuai <yukuai3@huawei.com>
---
 block/blk-wbt.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

Comments

Ming Lei Oct. 9, 2022, 11:47 a.m. UTC | #1
On Sun, Oct 09, 2022 at 06:10:38PM +0800, Yu Kuai wrote:
> From: Yu Kuai <yukuai3@huawei.com>
> 
> commit 8c5035dfbb94 ("blk-wbt: call rq_qos_add() after wb_normal is
> initialized") moves wbt_set_write_cache() before rq_qos_add(), which
> is wrong because wbt_rq_qos() is still NULL.
> 
> Fix the problem by removing wbt_set_write_cache() and setting 'rwb->wc'
> directly. Noted that this patch also remove the redundant setting of
> 'rab->wc'.
> 
> Fixes: 8c5035dfbb94 ("blk-wbt: call rq_qos_add() after wb_normal is initialized")
> Reported-by: kernel test robot <yujie.liu@intel.com>
> Link: https://lore.kernel.org/r/202210081045.77ddf59b-yujie.liu@intel.com
> Signed-off-by: Yu Kuai <yukuai3@huawei.com>

Looks fine,

Reviewed-by: Ming Lei <ming.lei@redhat.com>

Thanks,
Ming
Jens Axboe Oct. 9, 2022, 1:48 p.m. UTC | #2
On Sun, 9 Oct 2022 18:10:38 +0800, Yu Kuai wrote:
> From: Yu Kuai <yukuai3@huawei.com>
> 
> commit 8c5035dfbb94 ("blk-wbt: call rq_qos_add() after wb_normal is
> initialized") moves wbt_set_write_cache() before rq_qos_add(), which
> is wrong because wbt_rq_qos() is still NULL.
> 
> Fix the problem by removing wbt_set_write_cache() and setting 'rwb->wc'
> directly. Noted that this patch also remove the redundant setting of
> 'rab->wc'.
> 
> [...]

Applied, thanks!

[1/1] blk-wbt: fix that 'rwb->wc' is always set to 1 in wbt_init()
      commit: 285febabac4a16655372d23ff43e89ff6f216691

Best regards,
diff mbox series

Patch

diff --git a/block/blk-wbt.c b/block/blk-wbt.c
index 246467926253..c293e08b301f 100644
--- a/block/blk-wbt.c
+++ b/block/blk-wbt.c
@@ -841,12 +841,11 @@  int wbt_init(struct request_queue *q)
 	rwb->last_comp = rwb->last_issue = jiffies;
 	rwb->win_nsec = RWB_WINDOW_NSEC;
 	rwb->enable_state = WBT_STATE_ON_DEFAULT;
-	rwb->wc = 1;
+	rwb->wc = test_bit(QUEUE_FLAG_WC, &q->queue_flags);
 	rwb->rq_depth.default_depth = RWB_DEF_DEPTH;
 	rwb->min_lat_nsec = wbt_default_latency_nsec(q);
 
 	wbt_queue_depth_changed(&rwb->rqos);
-	wbt_set_write_cache(q, test_bit(QUEUE_FLAG_WC, &q->queue_flags));
 
 	/*
 	 * Assign rwb and add the stats callback.