All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stefan Hajnoczi <stefanha@redhat.com>
To: Eric Blake <eblake@redhat.com>
Cc: qemu-devel@nongnu.org, qemu-block@nongnu.org, sunnyzhyy@qq.com,
	vsementsov@yandex-team.ru
Subject: Re: [PATCH v4 00/13] Make blockdev-mirror dest sparse in more cases
Date: Mon, 12 May 2025 14:44:29 -0400	[thread overview]
Message-ID: <20250512184429.GI141177@fedora> (raw)
In-Reply-To: <20250509204341.3553601-15-eblake@redhat.com>

[-- Attachment #1: Type: text/plain, Size: 4543 bytes --]

On Fri, May 09, 2025 at 03:40:17PM -0500, Eric Blake wrote:
> v3 was here:
> https://lists.gnu.org/archive/html/qemu-devel/2025-04/msg04525.html
> 
> In v4:
>  - Rearrange series a bit to try and simplify logic for how zero
>    bitmap is populated, when pre-zeroing is attempted, and how
>    detect-zeroes=unmap interacts [Sunny]
>  - Add a couple new patches to make this easier to follow
>  - iotest tweaks [Stefan]
> 
> 001/13:[----] [--] 'block: Expand block status mode from bool to flags'
> 002/13:[----] [--] 'file-posix, gluster: Handle zero block status hint better'
> 003/13:[----] [--] 'block: Let bdrv_co_is_zero_fast consolidate adjacent extents'
> 004/13:[----] [--] 'block: Add new bdrv_co_is_all_zeroes() function'
> 005/13:[----] [--] 'iotests: Improve iotest 194 to mirror data'
> 006/13:[----] [--] 'mirror: Minor refactoring'
> 007/13:[down] 'mirror: Pass full sync mode rather than bool to internals'
> 008/13:[0038] [FC] 'mirror: Allow QMP override to declare target already zero'
> 009/13:[down] 'mirror: Drop redundant zero_target parameter'
> 010/13:[0063] [FC] 'mirror: Skip pre-zeroing destination if it is already zero'
> 011/13:[0021] [FC] 'mirror: Skip writing zeroes when target is already zero'
> 012/13:[----] [--] 'iotests/common.rc: add disk_usage function'
> 013/13:[0013] [FC] 'tests: Add iotest mirror-sparse for recent patches'
> 
> Andrey Drobyshev (1):
>   iotests/common.rc: add disk_usage function
> 
> Eric Blake (12):
>   block: Expand block status mode from bool to flags
>   file-posix, gluster: Handle zero block status hint better
>   block: Let bdrv_co_is_zero_fast consolidate adjacent extents
>   block: Add new bdrv_co_is_all_zeroes() function
>   iotests: Improve iotest 194 to mirror data
>   mirror: Minor refactoring
>   mirror: Pass full sync mode rather than bool to internals
>   mirror: Allow QMP override to declare target already zero
>   mirror: Drop redundant zero_target parameter
>   mirror: Skip pre-zeroing destination if it is already zero
>   mirror: Skip writing zeroes when target is already zero
>   tests: Add iotest mirror-sparse for recent patches
> 
>  qapi/block-core.json                       |   8 +-
>  block/coroutines.h                         |   4 +-
>  include/block/block-common.h               |  11 +
>  include/block/block-io.h                   |   2 +
>  include/block/block_int-common.h           |  27 +-
>  include/block/block_int-global-state.h     |   4 +-
>  include/block/block_int-io.h               |   4 +-
>  block/io.c                                 | 126 +++++--
>  block/blkdebug.c                           |   6 +-
>  block/copy-before-write.c                  |   4 +-
>  block/file-posix.c                         |   5 +-
>  block/gluster.c                            |   4 +-
>  block/iscsi.c                              |   6 +-
>  block/mirror.c                             | 183 ++++++++---
>  block/nbd.c                                |   4 +-
>  block/null.c                               |   6 +-
>  block/parallels.c                          |   6 +-
>  block/qcow.c                               |   2 +-
>  block/qcow2.c                              |   6 +-
>  block/qed.c                                |   6 +-
>  block/quorum.c                             |   4 +-
>  block/raw-format.c                         |   4 +-
>  block/rbd.c                                |   6 +-
>  block/snapshot-access.c                    |   4 +-
>  block/vdi.c                                |   4 +-
>  block/vmdk.c                               |   2 +-
>  block/vpc.c                                |   2 +-
>  block/vvfat.c                              |   6 +-
>  blockdev.c                                 |  27 +-
>  tests/unit/test-block-iothread.c           |   2 +-
>  tests/qemu-iotests/common.rc               |   6 +
>  tests/qemu-iotests/194                     |   7 +-
>  tests/qemu-iotests/194.out                 |   4 +-
>  tests/qemu-iotests/250                     |   5 -
>  tests/qemu-iotests/iotests.py              |  12 +-
>  tests/qemu-iotests/tests/mirror-sparse     | 125 +++++++
>  tests/qemu-iotests/tests/mirror-sparse.out | 365 +++++++++++++++++++++
>  37 files changed, 850 insertions(+), 159 deletions(-)
>  create mode 100755 tests/qemu-iotests/tests/mirror-sparse
>  create mode 100644 tests/qemu-iotests/tests/mirror-sparse.out
> 
> -- 
> 2.49.0
> 

Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

  parent reply	other threads:[~2025-05-12 18:45 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-05-09 20:40 [PATCH v4 00/13] Make blockdev-mirror dest sparse in more cases Eric Blake
2025-05-09 20:40 ` [PATCH v4 01/13] block: Expand block status mode from bool to flags Eric Blake
2025-05-09 20:40 ` [PATCH v4 02/13] file-posix, gluster: Handle zero block status hint better Eric Blake
2025-05-09 20:40 ` [PATCH v4 03/13] block: Let bdrv_co_is_zero_fast consolidate adjacent extents Eric Blake
2025-05-09 20:40 ` [PATCH v4 04/13] block: Add new bdrv_co_is_all_zeroes() function Eric Blake
2025-05-09 20:40 ` [PATCH v4 05/13] iotests: Improve iotest 194 to mirror data Eric Blake
2025-05-09 20:40 ` [PATCH v4 06/13] mirror: Minor refactoring Eric Blake
2025-05-09 20:40 ` [PATCH v4 07/13] mirror: Pass full sync mode rather than bool to internals Eric Blake
2025-05-02 23:17   ` Sunny Zhu
2025-05-12 15:19   ` Stefan Hajnoczi
2025-05-09 20:40 ` [PATCH v4 08/13] mirror: Allow QMP override to declare target already zero Eric Blake
2025-05-02 23:57   ` Sunny Zhu
2025-05-12 17:30     ` Eric Blake
2025-05-03  0:40   ` Sunny Zhu
2025-05-12 15:23   ` Stefan Hajnoczi
2025-05-09 20:40 ` [PATCH v4 09/13] mirror: Drop redundant zero_target parameter Eric Blake
2025-05-03  0:47   ` Sunny Zhu
2025-05-12 15:24   ` Stefan Hajnoczi
2025-05-14 22:09   ` Eric Blake
2025-05-15  1:11     ` Eric Blake
2025-05-09 20:40 ` [PATCH v4 10/13] mirror: Skip pre-zeroing destination if it is already zero Eric Blake
2025-05-03  0:51   ` Sunny Zhu
2025-05-12 18:40   ` Stefan Hajnoczi
2025-05-09 20:40 ` [PATCH v4 11/13] mirror: Skip writing zeroes when target " Eric Blake
2025-05-12 18:43   ` Stefan Hajnoczi
2025-05-13 21:37   ` Eric Blake
2025-05-14 15:37   ` Sunny Zhu
2025-05-14 16:30     ` Eric Blake
2025-05-09 20:40 ` [PATCH v4 12/13] iotests/common.rc: add disk_usage function Eric Blake
2025-05-09 20:40 ` [PATCH v4 13/13] tests: Add iotest mirror-sparse for recent patches Eric Blake
2025-05-12 18:44   ` Stefan Hajnoczi
2025-05-12 18:44 ` Stefan Hajnoczi [this message]
2025-05-13 22:00 ` [PATCH v4 14/13] mirror: Reduce I/O when destination is detect-zeroes:unmap Eric Blake
2025-05-14 13:20   ` Stefan Hajnoczi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250512184429.GI141177@fedora \
    --to=stefanha@redhat.com \
    --cc=eblake@redhat.com \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=sunnyzhyy@qq.com \
    --cc=vsementsov@yandex-team.ru \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.