diff options
author | Ming Lei <ming.lei@redhat.com> | 2022-06-24 16:12:53 +0200 |
---|---|---|
committer | Mike Snitzer <snitzer@kernel.org> | 2022-06-29 20:17:16 +0200 |
commit | 444fe04f7a5a7991daa1a8fc3680670ac87fc2ce (patch) | |
tree | 4ee9ffed1c6199432d695e061affda10a2271498 /fs/ocfs2 | |
parent | dm: refactor dm_md_mempool allocation (diff) | |
download | linux-444fe04f7a5a7991daa1a8fc3680670ac87fc2ce.tar.xz linux-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 'fs/ocfs2')
0 files changed, 0 insertions, 0 deletions