All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v4 0/5] block: Don't compare strings in bdrv_reopen_prepare()
@ 2017-07-05 19:03 Max Reitz
  2017-07-05 19:04 ` [Qemu-devel] [PATCH v4 1/5] qapi/qnull: Add own header Max Reitz
                   ` (4 more replies)
  0 siblings, 5 replies; 19+ messages in thread
From: Max Reitz @ 2017-07-05 19:03 UTC (permalink / raw)
  To: qemu-block
  Cc: qemu-devel, Max Reitz, Kevin Wolf, Eric Blake, Markus Armbruster

bdrv_reopen_prepare() assumes that all BDS options are strings, which is
not necessarily correct. This series introduces a new qobject_is_equal()
function which can be used to test whether any options have changed,
independently of their type.


v4:
- Patch 1: Kept, because Markus gave his R-b already...
- Patch 2: Check that doubles match integers exactly, not just after the
           integer has been (lossily) converted to a double
           [Markus/Eric]
- Patch 3: Winged comment and s/simply can not/can simply omit/ (:-()
           [Markus/Eric]
- Patch 5:
  - Mention (at least one) reason for the non-reflexivity of
    qobject_is_equal() (that being NaN) [Eric]
  - Mention that NaN cannot occur in JSON [Eric]
  - Tests for integer values that cannot be exactly represented as a
    double


git-backport-diff against v3:

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/5:[----] [--] 'qapi/qnull: Add own header'
002/5:[0032] [FC] 'qapi: Add qobject_is_equal()'
003/5:[0022] [FC] 'block: qobject_is_equal() in bdrv_reopen_prepare()'
004/5:[----] [--] 'iotests: Add test for non-string option reopening'
005/5:[0114] [FC] 'tests: Add check-qobject for equality tests'


Max Reitz (5):
  qapi/qnull: Add own header
  qapi: Add qobject_is_equal()
  block: qobject_is_equal() in bdrv_reopen_prepare()
  iotests: Add test for non-string option reopening
  tests: Add check-qobject for equality tests

 tests/Makefile.include     |   4 +-
 include/qapi/qmp/qbool.h   |   1 +
 include/qapi/qmp/qdict.h   |   1 +
 include/qapi/qmp/qlist.h   |   1 +
 include/qapi/qmp/qnull.h   |  28 ++++
 include/qapi/qmp/qnum.h    |   1 +
 include/qapi/qmp/qobject.h |  17 +-
 include/qapi/qmp/qstring.h |   1 +
 include/qapi/qmp/types.h   |   1 +
 block.c                    |  29 ++--
 qobject/qbool.c            |   8 +
 qobject/qdict.c            |  29 ++++
 qobject/qlist.c            |  32 ++++
 qobject/qnull.c            |  11 +-
 qobject/qnum.c             |  77 +++++++++
 qobject/qobject.c          |  29 ++++
 qobject/qstring.c          |   9 +
 tests/check-qnull.c        |   2 +-
 tests/check-qobject.c      | 404 +++++++++++++++++++++++++++++++++++++++++++++
 tests/qemu-iotests/133     |   9 +
 tests/qemu-iotests/133.out |   5 +
 21 files changed, 677 insertions(+), 22 deletions(-)
 create mode 100644 include/qapi/qmp/qnull.h
 create mode 100644 tests/check-qobject.c

-- 
2.9.4

^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2017-08-21 16:19 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-07-05 19:03 [Qemu-devel] [PATCH v4 0/5] block: Don't compare strings in bdrv_reopen_prepare() Max Reitz
2017-07-05 19:04 ` [Qemu-devel] [PATCH v4 1/5] qapi/qnull: Add own header Max Reitz
2017-07-05 19:04 ` [Qemu-devel] [PATCH v4 2/5] qapi: Add qobject_is_equal() Max Reitz
2017-07-05 19:49   ` Eric Blake
2017-07-09 17:15     ` Max Reitz
2017-07-06 14:30   ` Markus Armbruster
2017-07-09 17:36     ` Max Reitz
2017-07-10  9:17       ` Markus Armbruster
2017-07-10 21:30         ` Max Reitz
2017-07-11 11:33           ` Markus Armbruster
2017-07-11 13:17             ` Max Reitz
2017-08-14  9:07               ` Markus Armbruster
2017-08-21 16:12                 ` Max Reitz
2017-07-05 19:04 ` [Qemu-devel] [PATCH v4 3/5] block: qobject_is_equal() in bdrv_reopen_prepare() Max Reitz
2017-07-05 19:52   ` Eric Blake
2017-07-05 19:04 ` [Qemu-devel] [PATCH v4 4/5] iotests: Add test for non-string option reopening Max Reitz
2017-07-05 19:04 ` [Qemu-devel] [PATCH v4 5/5] tests: Add check-qobject for equality tests Max Reitz
2017-07-05 20:05   ` Eric Blake
2017-07-09 17:18     ` Max Reitz

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.