[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v3 0/4] fix two edge cases related to stream block jobs
From: |
Stefan Hajnoczi |
Subject: |
Re: [PATCH v3 0/4] fix two edge cases related to stream block jobs |
Date: |
Mon, 25 Mar 2024 16:11:16 -0400 |
On Fri, Mar 22, 2024 at 10:50:05AM +0100, Fiona Ebner wrote:
> Changes in v3:
> * Also deal with edge case in bdrv_next_cleanup(). Haven't run
> into an actual issue there, but at least the caller in
> migration/block.c uses bdrv_nb_sectors() which, while not a
> coroutine wrapper itself (it's written manually), may call
> bdrv_refresh_total_sectors(), which is a generated coroutine
> wrapper, so AFAIU, the block graph can change during that call.
> And even without that, it's just better to be more consistent
> with bdrv_next().
>
> Changes in v2:
> * Ran into another issue while writing the IO test Stefan wanted
> to have (good call :)), so include a fix for that and add the
> test. I didn't notice during manual testing, because I hadn't
> used a scripted QMP 'quit', so there was no race.
>
> Fiona Ebner (3):
> block-backend: fix edge case in bdrv_next() where BDS associated to BB
> changes
> block-backend: fix edge case in bdrv_next_cleanup() where BDS
> associated to BB changes
> iotests: add test for stream job with an unaligned prefetch read
>
> Stefan Reiter (1):
> block/io: accept NULL qiov in bdrv_pad_request
>
> block/block-backend.c | 18 ++--
> block/io.c | 31 ++++---
> .../tests/stream-unaligned-prefetch | 86 +++++++++++++++++++
> .../tests/stream-unaligned-prefetch.out | 5 ++
> 4 files changed, 117 insertions(+), 23 deletions(-)
> create mode 100755 tests/qemu-iotests/tests/stream-unaligned-prefetch
> create mode 100644 tests/qemu-iotests/tests/stream-unaligned-prefetch.out
Looks good to me. I will wait until Thursday before merging in case
Hanna, Vladimir, or Kevin have comments. Thanks!
Stefan
signature.asc
Description: PGP signature