qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: John Snow <jsnow@redhat.com>
To: qemu-block@nongnu.org, qemu-devel@nongnu.org
Cc: Kevin Wolf <kwolf@redhat.com>,
	vsementsov@virtuozzo.com, Markus Armbruster <armbru@redhat.com>,
	Max Reitz <mreitz@redhat.com>
Subject: Re: [Qemu-devel] [PATCH v2 00/11] bitmaps: allow bitmaps to be used with full and top
Date: Wed, 17 Jul 2019 15:35:42 -0400	[thread overview]
Message-ID: <1d0f3fb9-d566-721f-45c4-edac263eb450@redhat.com> (raw)
In-Reply-To: <20190716000117.25219-1-jsnow@redhat.com>



On 7/15/19 8:01 PM, John Snow wrote:
> Based-on: https://github.com/jnsnow/qemu/tree/bitmaps
> 
> This follows the previous series which adds the 'bitmap' sync mode
> and uses it to add interactions with bitmaps to the 'full' and 'top'
> modes to blockdev-backup and drive-backup.
> 
> Why?
>  on-success: Can conveniently synchronize a bitmap to a full backup.
>              Allows for transactionless anchor backups.
>              Allows us to attempt an anchor backup without damaging
>                our bitmap until the backup is successful.
>              Allows for transactional, ungrouped anchor backups.
>  always: Allows us to resume full/top style backups with a later
>          invocation to sync=bitmap. Neat!
> 
> Summary:
> 1-3: Refactor iotest 257 to accommodate this;
> 4-5: Augment 257 to test trivial failure cases
> 6-9: Refactor sync=top for block/backup
> 10: Implement feature
> 11: Test feature
> 
> ===
> V2:
> ===
> 
> Key:
> [----] : patches are identical
> [####] : number of functional differences between upstream/downstream patch
> [down] : patch is downstream-only
> The flags [FC] indicate (F)unctional and (C)ontextual differences, respectively
> 
> 001/11:[0010] [FC] 'iotests/257: add Pattern class'
> 002/11:[0003] [FC] 'iotests/257: add EmulatedBitmap class'
> 003/11:[0042] [FC] 'iotests/257: Refactor backup helpers'
> 004/11:[----] [--] 'block/backup: hoist bitmap check into QMP interface'
> 005/11:[0016] [FC] 'iotests/257: test API failures'
> 006/11:[down] 'block/backup: improve sync=bitmap work estimates'
> 007/11:[down] 'block/backup: centralize copy_bitmap initialization'
> 008/11:[down] 'block/backup: add backup_is_cluster_allocated'
> 009/11:[down] 'block/backup: teach TOP to never copy unallocated regions'
> 010/11:[0002] [FC] 'block/backup: support bitmap sync modes for non-bitmap backups'
> 011/11:[0058] [FC] 'iotests/257: test traditional sync modes'
> 
> 001: Fallout from changing floor(x / y) to x // y.
>      Fallout from changing x = x | y to x |= y.
>      (Decided not to keep RB.)
> 002: Removed dead variable
>      Change x = x - y to x -= y in clear_bits()
> 003: Substantially reorganize patch. Hopefully 10% more clever and 10% less cute.
> 004: (Added RB.)
> 005: Added docstring to test_backup_api
>      Fixed test matrix enumeration to have consistent order in python2/3
>      (Declined RB.)
> ---: What was patch 006 was dropped, and became patches 6-9.
> 6-9: New!
> 010: Was 007;
>      Formatting fix.
>      (Added RB.)
> 011: Was 008;
>      Adjust bitmap clearing/expected code as a consequence of #9.
>      Fallout from changes to 005.
> 
> John Snow (11):
>   iotests/257: add Pattern class
>   iotests/257: add EmulatedBitmap class
>   iotests/257: Refactor backup helpers
>   block/backup: hoist bitmap check into QMP interface
>   iotests/257: test API failures
>   block/backup: improve sync=bitmap work estimates
>   block/backup: centralize copy_bitmap initialization
>   block/backup: add backup_is_cluster_allocated
>   block/backup: teach TOP to never copy unallocated regions
>   block/backup: support bitmap sync modes for non-bitmap backups
>   iotests/257: test traditional sync modes
> 
>  block/backup.c             |  188 +-
>  block/trace-events         |    1 +
>  blockdev.c                 |   32 +
>  qapi/block-core.json       |    6 +-
>  tests/qemu-iotests/256.out |    4 +-
>  tests/qemu-iotests/257     |  342 ++--
>  tests/qemu-iotests/257.out | 3366 +++++++++++++++++++++++++++++++++++-
>  7 files changed, 3683 insertions(+), 256 deletions(-)
> 

[Applied small edits to 9 and 11, and:]

Thanks, applied to my bitmaps tree:

https://github.com/jnsnow/qemu/commits/bitmaps
https://github.com/jnsnow/qemu.git

--js


      parent reply	other threads:[~2019-07-17 19:36 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-07-16  0:01 [Qemu-devel] [PATCH v2 00/11] bitmaps: allow bitmaps to be used with full and top John Snow
2019-07-16  0:01 ` [Qemu-devel] [PATCH v2 01/11] iotests/257: add Pattern class John Snow
2019-07-16 10:08   ` Max Reitz
2019-07-16  0:01 ` [Qemu-devel] [PATCH v2 02/11] iotests/257: add EmulatedBitmap class John Snow
2019-07-16 10:11   ` Max Reitz
2019-07-16  0:01 ` [Qemu-devel] [PATCH v2 03/11] iotests/257: Refactor backup helpers John Snow
2019-07-16 10:33   ` Max Reitz
2019-07-16  0:01 ` [Qemu-devel] [PATCH v2 04/11] block/backup: hoist bitmap check into QMP interface John Snow
2019-07-16  0:01 ` [Qemu-devel] [PATCH v2 05/11] iotests/257: test API failures John Snow
2019-07-16 10:35   ` Max Reitz
2019-07-16  0:01 ` [Qemu-devel] [PATCH v2 06/11] block/backup: improve sync=bitmap work estimates John Snow
2019-07-16 10:53   ` Max Reitz
2019-07-16  0:01 ` [Qemu-devel] [PATCH v2 07/11] block/backup: centralize copy_bitmap initialization John Snow
2019-07-16 10:58   ` Max Reitz
2019-07-16  0:01 ` [Qemu-devel] [PATCH v2 08/11] block/backup: add backup_is_cluster_allocated John Snow
2019-07-16 11:07   ` Max Reitz
2019-07-16  0:01 ` [Qemu-devel] [PATCH v2 09/11] block/backup: teach TOP to never copy unallocated regions John Snow
2019-07-16 11:43   ` Max Reitz
2019-07-16 16:02     ` John Snow
2019-07-16 16:11       ` Max Reitz
2019-07-17 18:10         ` John Snow
2019-07-16  0:01 ` [Qemu-devel] [PATCH v2 10/11] block/backup: support bitmap sync modes for non-bitmap backups John Snow
2019-07-16  5:18   ` Markus Armbruster
2019-07-16 14:49     ` John Snow
2019-07-16 11:45   ` Max Reitz
2019-07-16  0:01 ` [Qemu-devel] [PATCH v2 11/11] iotests/257: test traditional sync modes John Snow
2019-07-16 12:04   ` Max Reitz
2019-07-16 16:58     ` John Snow
2019-07-17  9:50       ` Max Reitz
2019-07-17 17:53         ` John Snow
2019-07-17 19:35 ` John Snow [this message]

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=1d0f3fb9-d566-721f-45c4-edac263eb450@redhat.com \
    --to=jsnow@redhat.com \
    --cc=armbru@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=mreitz@redhat.com \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=vsementsov@virtuozzo.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).