mbox series

[v5,00/11] bitmaps: remove x- prefix from QMP api

Message ID 20181220022952.20493-1-jsnow@redhat.com (mailing list archive)
Headers show
Series bitmaps: remove x- prefix from QMP api | expand

Message

John Snow Dec. 20, 2018, 2:29 a.m. UTC
Fix some outstanding bugs, change the design of an API element,
remove the x- prefix to signify stability, and add iotests.

V5:
001/11:[----] [--] 'blockdev: abort transactions in reverse order'
002/11:[down] 'block/dirty-bitmap: remove assertion from restore'
003/11:[0029] [FC] 'blockdev: n-ary bitmap merge'
004/11:[----] [-C] 'block: remove 'x' prefix from experimental bitmap APIs'
005/11:[----] [--] 'iotests.py: don't abort if IMGKEYSECRET is undefined'
006/11:[----] [--] 'iotests: add filter_generated_node_ids'
007/11:[0019] [FC] 'iotests: add qmp recursive sorting function'
008/11:[----] [-C] 'iotests: remove default filters from qmp_log'
009/11:[----] [-C] 'iotests: change qmp_log filters to expect QMP objects only'
010/11:[0005] [FC] 'iotests: implement pretty-print for log and qmp_log'
011/11:[0324] [FC] 'iotests: add iotest 236 for testing bitmap merge'

002: New bugfix.
003: I forgot to actually capture state->bitmap anywhere,
     which is needed for restoration...
007: Better commit message
     - use .items() instead of .keys() to save a lookup [Vladimir]
     - use a sequence of tuples to preserve ordering in
       the OrderedDict constructor [Vladimir]
     - Move the sort_keys boolean up from patch 010
008: Better commit message
009: Better commit message
010: Moved the sort_keys function up to patch 007
011: Expanded this test considerably:
     - query_bitmaps can now show empty results,
       and prefixes results with "bitmaps:" in the log
     - logging declarations are one line [Vladimir]
     - Added a bad version of the bitmap handoff transaction [Eric]
     - Added a bad version of the bitmap merge transaction,
       which revealed a problem that patch 02 now addresses [Eric]
     - Added bitmap removal / cleanup [Eric]
     - Added newline at end of file. [Eric]

V4:
 - Removed patches 1-5 which have been staged
 - Rewrite qmp_log entirely, split into three patches
 - Pretty-printing has been extended to log() as well as qmp_log()
 - Adjust iotest 236 to be format generic instead of qcow2 [Vladimir]
 - Adjust iotest 236 to not reduplicate serialization work [Vladimir]
 - Many other small touchups

V3:
 - Reworked qmp_log to pretty-print the outgoing command, too [Vladimir]
 - Modified test to log only bitmap information [Vladimir]
 - Test disable/enable transaction toggle [Eric]

John Snow (11):
  blockdev: abort transactions in reverse order
  block/dirty-bitmap: remove assertion from restore
  blockdev: n-ary bitmap merge
  block: remove 'x' prefix from experimental bitmap APIs
  iotests.py: don't abort if IMGKEYSECRET is undefined
  iotests: add filter_generated_node_ids
  iotests: add qmp recursive sorting function
  iotests: remove default filters from qmp_log
  iotests: change qmp_log filters to expect QMP objects only
  iotests: implement pretty-print for log and qmp_log
  iotests: add iotest 236 for testing bitmap merge

 block/dirty-bitmap.c          |   1 -
 blockdev.c                    | 107 +++++++----
 qapi/block-core.json          |  56 +++---
 qapi/transaction.json         |  12 +-
 tests/qemu-iotests/206        |   8 +-
 tests/qemu-iotests/223        |   4 +-
 tests/qemu-iotests/236        | 161 ++++++++++++++++
 tests/qemu-iotests/236.out    | 351 ++++++++++++++++++++++++++++++++++
 tests/qemu-iotests/group      |   1 +
 tests/qemu-iotests/iotests.py |  60 +++++-
 10 files changed, 673 insertions(+), 88 deletions(-)
 create mode 100755 tests/qemu-iotests/236
 create mode 100644 tests/qemu-iotests/236.out