summaryrefslogtreecommitdiffstats
path: root/io_uring
diff options
context:
space:
mode:
authorMing Lei <ming.lei@redhat.com>2023-12-01 16:56:05 +0800
committerJens Axboe <axboe@kernel.dk>2023-12-01 07:34:47 -0700
commit0e4237ae8d159e3d28f3cd83146a46f576ffb586 (patch)
tree5930c3cfef59c10ec74806e4d64d3bba08b98289 /io_uring
parent3649ff0a0b152b5f00e8f56a5ce0da0945aae278 (diff)
downloadlinux-0e4237ae8d159e3d28f3cd83146a46f576ffb586.tar.gz
linux-0e4237ae8d159e3d28f3cd83146a46f576ffb586.tar.bz2
linux-0e4237ae8d159e3d28f3cd83146a46f576ffb586.zip
blk-mq: don't count completed flush data request as inflight in case of quiesce
Request queue quiesce may interrupt flush sequence, and the original request may have been marked as COMPLETE, but can't get finished because of queue quiesce. This way is fine from driver viewpoint, because flush sequence is block layer concept, and it isn't related with driver. However, driver(such as dm-rq) can call blk_mq_queue_inflight() to count & drain inflight requests, then the wait & drain never gets done because the completed & not-finished flush request is counted as inflight. Fix this issue by not counting completed flush data request as inflight in case of quiesce. Cc: Mike Snitzer <snitzer@kernel.org> Cc: David Jeffery <djeffery@redhat.com> Cc: John Pittman <jpittman@redhat.com> Signed-off-by: Ming Lei <ming.lei@redhat.com> Link: https://lore.kernel.org/r/20231201085605.577730-1-ming.lei@redhat.com Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'io_uring')
0 files changed, 0 insertions, 0 deletions