]> git.apps.os.sepia.ceph.com Git - ceph-client.git/commit
block: validate QoS before calling __rq_qos_done_bio()
authorNilay Shroff <nilay@linux.ibm.com>
Tue, 26 Aug 2025 16:30:32 +0000 (22:00 +0530)
committerJens Axboe <axboe@kernel.dk>
Tue, 26 Aug 2025 16:34:08 +0000 (10:34 -0600)
commite3ef9445cd9d90e43de0bd3cd55d437773dfd139
tree19a5d3a4ea7e4bd19ff4f7d4dfca1122457ff44d
parent198f36f902ec7e99b645382505f74b87a4523ed9
block: validate QoS before calling __rq_qos_done_bio()

If a bio has BIO_QOS_xxx set, it doesn't guarantee that q->rq_qos is
also present at-least for stacked block devices. For instance, in case
of NVMe when multipath is enabled, the bottom device may have QoS
enabled but top device doesn't. So always validate QoS is enabled and
q->rq_qos is present before calling __rq_qos_done_bio().

Fixes: 370ac285f23a ("block: avoid cpu_hotplug_lock depedency on freeze_lock")
Reported-by: Venkat Rao Bagalkote <venkat88@linux.ibm.com>
Closes: https://lore.kernel.org/all/3a07b752-06a4-4eee-b302-f4669feb859d@linux.ibm.com/
Signed-off-by: Nilay Shroff <nilay@linux.ibm.com>
Link: https://lore.kernel.org/r/20250826163128.1952394-1-nilay@linux.ibm.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/blk-rq-qos.h