diff options
author | Ming Lei <[email protected]> | 2023-12-01 16:56:05 +0800 |
---|---|---|
committer | Jens Axboe <[email protected]> | 2023-12-01 07:34:47 -0700 |
commit | 0e4237ae8d159e3d28f3cd83146a46f576ffb586 (patch) | |
tree | 5930c3cfef59c10ec74806e4d64d3bba08b98289 /lib/test_fortify/write_overflow-memcpy.c | |
parent | 3649ff0a0b152b5f00e8f56a5ce0da0945aae278 (diff) |
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 <[email protected]>
Cc: David Jeffery <[email protected]>
Cc: John Pittman <[email protected]>
Signed-off-by: Ming Lei <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Jens Axboe <[email protected]>
Diffstat (limited to 'lib/test_fortify/write_overflow-memcpy.c')
0 files changed, 0 insertions, 0 deletions