[PULL 00/10] Block layer fixes for 8.0-rc4

Kevin Wolf posted 10 patches 1 year ago
Failed in applying to current master (apply log)
include/block/block-io.h                         |  5 +-
include/block/block_int-common.h                 | 10 +++-
include/sysemu/block-backend-io.h                |  5 +-
block.c                                          | 35 ++++++++-----
block/block-backend.c                            | 42 ++++++++++++----
block/copy-on-read.c                             |  1 -
block/file-posix.c                               | 12 +++--
block/file-win32.c                               |  2 +-
block/filter-compress.c                          |  1 -
block/io.c                                       |  4 ++
block/preallocate.c                              |  1 -
block/raw-format.c                               |  3 +-
block/replication.c                              |  1 -
block/vhdx-log.c                                 |  2 +-
migration/block.c                                |  5 +-
tests/qemu-iotests/tests/regression-vhdx-log     | 62 ++++++++++++++++++++++++
tests/qemu-iotests/tests/regression-vhdx-log.out | 14 ++++++
17 files changed, 162 insertions(+), 43 deletions(-)
create mode 100755 tests/qemu-iotests/tests/regression-vhdx-log
create mode 100644 tests/qemu-iotests/tests/regression-vhdx-log.out
[PULL 00/10] Block layer fixes for 8.0-rc4
Posted by Kevin Wolf 1 year ago
At the first sight, this one probably looks huge for -rc4. But it's
mainly because Paolo split his fix into many very small patches. As you
can see in the diffstat below, it's not all that bad (and half of the
insertions there are for a new test case for the VHDX corruption bug).

The following changes since commit dda860b9c031d6a2768f75e5e622545d41d4b688:

  Merge tag 'pull-tcg-20230410' of https://gitlab.com/rth7680/qemu into staging (2023-04-10 19:46:09 +0100)

are available in the Git repository at:

  https://repo.or.cz/qemu/kevin.git tags/for-upstream

for you to fetch changes up to 81f730d4d0e8af9c0211c3fedf406df0046341a9:

  block, block-backend: write some hot coroutine wrappers by hand (2023-04-11 16:46:49 +0200)

----------------------------------------------------------------
Block layer patches

- Fix VHDX image corruption bug
- Fix for performance regression: Remove bdrv_co_get_geometry coroutines
  from I/O hot path

----------------------------------------------------------------
Kevin Wolf (1):
      iotests: Regression test for vhdx log corruption

Lukas Tschoke (1):
      block/vhdx: fix dynamic VHDX BAT corruption

Paolo Bonzini (8):
      block: move has_variable_length to BlockLimits
      block: remove has_variable_length from filters
      block: refresh bs->total_sectors on reopen
      block: remove has_variable_length from BlockDriver
      migration/block: replace uses of blk_nb_sectors that do not check result
      block-backend: inline bdrv_co_get_geometry
      block-backend: ignore inserted state in blk_co_nb_sectors
      block, block-backend: write some hot coroutine wrappers by hand

 include/block/block-io.h                         |  5 +-
 include/block/block_int-common.h                 | 10 +++-
 include/sysemu/block-backend-io.h                |  5 +-
 block.c                                          | 35 ++++++++-----
 block/block-backend.c                            | 42 ++++++++++++----
 block/copy-on-read.c                             |  1 -
 block/file-posix.c                               | 12 +++--
 block/file-win32.c                               |  2 +-
 block/filter-compress.c                          |  1 -
 block/io.c                                       |  4 ++
 block/preallocate.c                              |  1 -
 block/raw-format.c                               |  3 +-
 block/replication.c                              |  1 -
 block/vhdx-log.c                                 |  2 +-
 migration/block.c                                |  5 +-
 tests/qemu-iotests/tests/regression-vhdx-log     | 62 ++++++++++++++++++++++++
 tests/qemu-iotests/tests/regression-vhdx-log.out | 14 ++++++
 17 files changed, 162 insertions(+), 43 deletions(-)
 create mode 100755 tests/qemu-iotests/tests/regression-vhdx-log
 create mode 100644 tests/qemu-iotests/tests/regression-vhdx-log.out
Re: [PULL 00/10] Block layer fixes for 8.0-rc4
Posted by Peter Maydell 1 year ago
On Tue, 11 Apr 2023 at 16:02, Kevin Wolf <kwolf@redhat.com> wrote:
>
> At the first sight, this one probably looks huge for -rc4. But it's
> mainly because Paolo split his fix into many very small patches. As you
> can see in the diffstat below, it's not all that bad (and half of the
> insertions there are for a new test case for the VHDX corruption bug).
>
> The following changes since commit dda860b9c031d6a2768f75e5e622545d41d4b688:
>
>   Merge tag 'pull-tcg-20230410' of https://gitlab.com/rth7680/qemu into staging (2023-04-10 19:46:09 +0100)
>
> are available in the Git repository at:
>
>   https://repo.or.cz/qemu/kevin.git tags/for-upstream
>
> for you to fetch changes up to 81f730d4d0e8af9c0211c3fedf406df0046341a9:
>
>   block, block-backend: write some hot coroutine wrappers by hand (2023-04-11 16:46:49 +0200)
>
> ----------------------------------------------------------------
> Block layer patches
>
> - Fix VHDX image corruption bug
> - Fix for performance regression: Remove bdrv_co_get_geometry coroutines
>   from I/O hot path
>
> ----------------------------------------------------------------


Applied, thanks.

Please update the changelog at https://wiki.qemu.org/ChangeLog/8.0
for any user-visible changes.

-- PMM