qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Max Reitz <mreitz@redhat.com>
To: qemu-block@nongnu.org
Cc: qemu-devel@nongnu.org, Max Reitz <mreitz@redhat.com>,
	Markus Armbruster <armbru@redhat.com>,
	Eric Blake <eblake@redhat.com>, Kevin Wolf <kwolf@redhat.com>
Subject: [Qemu-devel] [PATCH v5 0/6] block: Don't compare strings in bdrv_reopen_prepare()
Date: Sat, 16 Sep 2017 20:51:17 +0200	[thread overview]
Message-ID: <20170916185123.29255-1-mreitz@redhat.com> (raw)

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.


v5:
- Patch 1: Changes due to rebase
- Patch 2: Added
- Patch 3: Made double QNums always unequal to integer QNums [Markus]
- Patch 6:
  - Removed many tests because they no longer make sense with double
    QNums generally being unequal to integer QNums
  - Use NAN from math.h instead of 0.0 / 0.0 [Eric]
  - dm42 should be a double, not an int (and I didn't notice because
    -42.0 was supposed to be equal to -42 anyway)
  - Rebase changes because QNull is now an own type


git-backport-diff against v4:

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/6:[0023] [FC] 'qapi/qnull: Add own header'
002/6:[down] 'qapi/qlist: Add qlist_append_null() macro'
003/6:[0035] [FC] 'qapi: Add qobject_is_equal()'
004/6:[----] [--] 'block: qobject_is_equal() in bdrv_reopen_prepare()'
005/6:[----] [--] 'iotests: Add test for non-string option reopening'
006/6:[0153] [FC] 'tests: Add check-qobject for equality tests'


Max Reitz (6):
  qapi/qnull: Add own header
  qapi/qlist: Add qlist_append_null() macro
  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    |   2 +
 include/qapi/qmp/qlist.h    |   4 +
 include/qapi/qmp/qnull.h    |  32 +++++
 include/qapi/qmp/qnum.h     |   1 +
 include/qapi/qmp/qobject.h  |  21 ++-
 include/qapi/qmp/qstring.h  |   1 +
 include/qapi/qmp/types.h    |   1 +
 block.c                     |  29 ++--
 qapi/qapi-clone-visitor.c   |   1 +
 qapi/string-input-visitor.c |   1 +
 qobject/qbool.c             |   8 ++
 qobject/qdict.c             |  29 ++++
 qobject/qlist.c             |  32 +++++
 qobject/qnull.c             |  11 +-
 qobject/qnum.c              |  54 ++++++++
 qobject/qobject.c           |  29 ++++
 qobject/qstring.c           |   9 ++
 tests/check-qnull.c         |   2 +-
 tests/check-qobject.c       | 315 ++++++++++++++++++++++++++++++++++++++++++++
 tests/qemu-iotests/133      |   9 ++
 tests/qemu-iotests/133.out  |   5 +
 23 files changed, 575 insertions(+), 26 deletions(-)
 create mode 100644 include/qapi/qmp/qnull.h
 create mode 100644 tests/check-qobject.c

-- 
2.13.5

             reply	other threads:[~2017-09-16 18:51 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-09-16 18:51 Max Reitz [this message]
2017-09-16 18:51 ` [Qemu-devel] [PATCH v5 1/6] qapi/qnull: Add own header Max Reitz
2017-09-18 14:05   ` Eric Blake
2017-09-21 11:45   ` [Qemu-devel] [Qemu-block] " Alberto Garcia
2017-10-02 13:13   ` [Qemu-devel] " Markus Armbruster
2017-09-16 18:51 ` [Qemu-devel] [PATCH v5 2/6] qapi/qlist: Add qlist_append_null() macro Max Reitz
2017-09-18 14:08   ` Eric Blake
2017-09-21 11:46   ` [Qemu-devel] [Qemu-block] " Alberto Garcia
2017-10-02 13:13   ` [Qemu-devel] " Markus Armbruster
2017-09-16 18:51 ` [Qemu-devel] [PATCH v5 3/6] qapi: Add qobject_is_equal() Max Reitz
2017-09-18 14:15   ` Eric Blake
2017-09-21 12:03   ` [Qemu-devel] [Qemu-block] " Alberto Garcia
2017-10-02 13:13   ` [Qemu-devel] " Markus Armbruster
2017-09-16 18:51 ` [Qemu-devel] [PATCH v5 4/6] block: qobject_is_equal() in bdrv_reopen_prepare() Max Reitz
2017-09-16 18:51 ` [Qemu-devel] [PATCH v5 5/6] iotests: Add test for non-string option reopening Max Reitz
2017-09-18 14:17   ` Eric Blake
2017-09-16 18:51 ` [Qemu-devel] [PATCH v5 6/6] tests: Add check-qobject for equality tests Max Reitz
2017-09-18 14:25   ` Eric Blake
2017-10-02 13:34   ` Markus Armbruster
2017-10-03 21:19     ` Max Reitz

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=20170916185123.29255-1-mreitz@redhat.com \
    --to=mreitz@redhat.com \
    --cc=armbru@redhat.com \
    --cc=eblake@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    /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).