On Tue, Aug 12, 2025 at 11:42:57PM +0800, Julian Sun wrote: > The commit 245618f8e45f ("block: protect wbt_lat_usec using > q->elevator_lock") protected wbt_enable_default() with > q->elevator_lock; however, it also placed wbt_enable_default() > before blk_queue_flag_set(QUEUE_FLAG_REGISTERED, q);, resulting > in wbt failing to be enabled. > > Moreover, the protection of wbt_enable_default() by q->elevator_lock > was removed in commit 78c271344b6f ("block: move wbt_enable_default() > out of queue freezing from sched ->exit()"), so we can directly fix > this issue by placing wbt_enable_default() after > blk_queue_flag_set(QUEUE_FLAG_REGISTERED, q);. > > Additionally, this issue also causes the inability to read the > wbt_lat_usec file, and the scenario is as follows: > > root@q:/sys/block/sda/queue# cat wbt_lat_usec > cat: wbt_lat_usec: Invalid argument > > root@q:/data00/sjc/linux# ls /sys/kernel/debug/block/sda/rqos > cannot access '/sys/kernel/debug/block/sda/rqos': No such file or directory > > root@q:/data00/sjc/linux# find /sys -name wbt > /sys/kernel/debug/tracing/events/wbt > > After testing with this patch, wbt can be enabled normally. > > Signed-off-by: Julian Sun <sunjunchao@xxxxxxxxxxxxx> > Cc: stable@xxxxxxxxxxxxxxx > Fixes: 245618f8e45f ("block: protect wbt_lat_usec using q->elevator_lock") Looks fine, Reviewed-by: Ming Lei <ming.lei@xxxxxxxxxx> Thanks, Ming