diff options
| author | 2022-06-24 22:12:53 +0800 | |
|---|---|---|
| committer | 2022-06-29 14:17:16 -0400 | |
| commit | 444fe04f7a5a7991daa1a8fc3680670ac87fc2ce (patch) | |
| tree | 4ee9ffed1c6199432d695e061affda10a2271498 /tools/perf/util/include/linux/git:/ssh:/git@git.zx2c4.com | |
| parent | dm: refactor dm_md_mempool allocation (diff) | |
| download | linux-dev-444fe04f7a5a7991daa1a8fc3680670ac87fc2ce.tar.xz linux-dev-444fe04f7a5a7991daa1a8fc3680670ac87fc2ce.zip | |
dm: improve BLK_STS_DM_REQUEUE and BLK_STS_AGAIN handling
If either BLK_STS_DM_REQUEUE or BLK_STS_AGAIN is returned for POLLED
io, we requeue the original bio into deferred list and kick md->wq to
re-submit it to block layer.
Improve the handling in the following way:
1) Factor out dm_handle_requeue() for handling dm_io requeue.
2) Unify handling for BLK_STS_DM_REQUEUE and BLK_STS_AGAIN: clear
REQ_POLLED for BLK_STS_DM_REQUEUE too, for the sake of simplicity,
given BLK_STS_DM_REQUEUE is very unusual.
3) Queue md->wq explicitly in dm_handle_requeue(), so requeue handling
becomes more robust.
Signed-off-by: Ming Lei <ming.lei@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@kernel.org>
Diffstat (limited to 'tools/perf/util/include/linux/git:/ssh:/git@git.zx2c4.com')
0 files changed, 0 insertions, 0 deletions
