block: clear zone write plugging flag before failing rejected BIOs#938
block: clear zone write plugging flag before failing rejected BIOs#938blktests-ci[bot] wants to merge 1 commit into
Conversation
|
Upstream branch: ddd664b |
7bed9c3 to
a7bb5c5
Compare
|
Upstream branch: 979c294 |
5362a9e to
b7b08a3
Compare
a7bb5c5 to
5e41a3b
Compare
|
Upstream branch: acb7500 |
b7b08a3 to
d5efef1
Compare
5e41a3b to
c3a084b
Compare
|
Upstream branch: 9716c08 |
d5efef1 to
7e357c8
Compare
c3a084b to
5f78e5d
Compare
|
Upstream branch: 2a2974b |
7e357c8 to
60b6a95
Compare
5f78e5d to
e48f9db
Compare
|
Upstream branch: 062871f |
60b6a95 to
a7b7aea
Compare
199644a to
e6d9eb8
Compare
|
Upstream branch: 66affa3 |
a7b7aea to
0873b45
Compare
e6d9eb8 to
7d8604f
Compare
|
Upstream branch: bade58e |
0873b45 to
20783b3
Compare
7d8604f to
4cc45a3
Compare
|
Upstream branch: 4edcdef |
20783b3 to
5cbdf88
Compare
4cc45a3 to
90ffd56
Compare
|
Upstream branch: dc59e4f |
Commit fe0418e ("block: Prevent potential deadlocks in zone write plug error recovery") changed blk_zone_wplug_handle_write() to fail BIOs directly when blk_zone_wplug_prepare_bio() rejects them, for example because the write is not aligned to the cached write pointer or the plug needs a write pointer update. However, the BIO is already marked with BIO_ZONE_WRITE_PLUGGING at that point even though it is not issued. Completing such a BIO with bio_io_error() makes bio_endio() call blk_zone_write_plug_bio_endio(), which treats the completion as a failed device write and may poison the cached zone write pointer state by setting BLK_ZONE_WPLUG_NEED_WP_UPDATE. Clear BIO_ZONE_WRITE_PLUGGING and drop the zone write plug reference before failing the rejected BIO. Fixes: fe0418e ("block: Prevent potential deadlocks in zone write plug error recovery") Cc: stable@vger.kernel.org # 6.13+ Signed-off-by: Jackie Liu <liuyun01@kylinos.cn>
5cbdf88 to
5917343
Compare
Pull request for series with
subject: block: clear zone write plugging flag before failing rejected BIOs
version: 1
url: https://patchwork.kernel.org/project/linux-block/list/?series=1107182