Hi, This patchset contains two patches. The first patch fixes a missed release of q->elevator_lock which was mistakenly omitted in one of the return code path of ioc_qos_write. The second patch fixes the locdep splat reported due to the incorrect locking order between q->elevator_lock and q->rq_qos_mutex. The commit 245618f8e45f ("block: protect wbt_lat_usec using q->elevator_lock") introduced q->elevator_lock to protect updates to blk-wbt parameters when writing to the sysfs attribute wbt_lat_usec and the cgroup attribute io.cost.qos. However, writes to these attributes also acquire q->rq_qos_ mutex, creating a potential circular dependency if the locking order is not correctly followed. This patch ensures the correct locking sequence to prevent such issues. Unfortunately, blktests currently lacks a test case for writes to these attributes, which might have caught this issue earlier. I plan to submit a blktest to cover these cases. Nilay Shroff (2): block: release q->elevator_lock in ioc_qos_write block: correct locking order for protecting blk-wbt parameters block/blk-cgroup.c | 51 ++++++++++++++++++++++++++++++++++++++++++++++ block/blk-cgroup.h | 2 ++ block/blk-iocost.c | 17 +++++----------- 3 files changed, 58 insertions(+), 12 deletions(-) -- 2.47.1