On 21.04.2026 19:11, Kevin Wolf wrote:
Patches 2 and 4 are the core of the fix, see their commit message for
details.
Kevin Wolf (7):
blkdebug: Add 'delay-ns' option
block: Add blk_co_start/end_request() and BDRV_REQ_NO_QUEUE
block: Add flags parameter to blk_*_pdiscard()
ide: Minimal fix for deadlock between TRIM and drain
ide: Clean up ide_trim_co_entry() to be idiomatic coroutine code
ide-test: Factor out wait_dma_completion()
ide-test: Test reset during TRIM
Hi!
Is this whole patchset supposed to go to qemu-stable, to be applied to
stable qemu releases? I'm a bit confused because only one of the patches
has Cc: qemu-stable tag, but whole patchset has been Cc'd to qemu-stable,
and at least patch 2 is also needed.
I'd gladly add testing patches too, but I'd rather understand the inital
intention.
The actual fix - "ide: Minimal fix for deadlock between TRIM and drain"
(commit 095c08a7ba in the master branch now) does not work in any of
the qemu stable branches as-is, because even 11.0.x lacks
blk_co_start_request() and BDRV_REQ_NO_QUEUE definition - so at least
34a67637767d "block: Add blk_co_start/end_request() and BDRV_REQ_NO_QUEUE"
is needed.
Next, blk_co_pdiscard() lacks "flags" parameter, so another commit,
53074ba0330a "block: Add flags parameter to blk_*_pdiscard()", is also
needed.
But this area received quite a lot of changes, so I don't know how far
this can be applied to older stable qemu branches, and how well it all
will work within older branches. I'm especially interested in 10.0.x
series, which has become an LTS.
What do you think?
I'm testing 11.0.x with whole this series and the above-mentioned 2
changes, for now, and I'll let you know how it goes for 10.0 and 10.2,
hopefully later today.
Thanks,
/mjt
qapi/block-core.json | 4 +
include/block/block-common.h | 11 ++-
include/system/block-backend-io.h | 6 +-
block/blkdebug.c | 15 +++-
block/block-backend.c | 47 +++++++---
block/export/virtio-blk-handler.c | 2 +-
block/mirror.c | 4 +-
hw/ide/core.c | 110 +++++++++++-------------
nbd/server.c | 2 +-
qemu-io-cmds.c | 2 +-
tests/qtest/ide-test.c | 137 ++++++++++++++++++++++++------
tests/unit/test-block-iothread.c | 4 +-
12 files changed, 236 insertions(+), 108 deletions(-)