qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH v3 0/4] fix two edge cases related to stream block jobs


From: Fiona Ebner
Subject: [PATCH v3 0/4] fix two edge cases related to stream block jobs
Date: Fri, 22 Mar 2024 10:50:05 +0100

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

-- 
2.39.2





reply via email to

[Prev in Thread] Current Thread [Next in Thread]