[Qemu-devel] [PATCH v2 00/10] block: Try to create well typed json:{} filenames

Max Reitz posted 10 patches 5 years, 10 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20180611205203.2624-1-mreitz@redhat.com
Test checkpatch passed
Test docker-mingw@fedora passed
Test docker-quick@centos7 passed
Test s390x passed
docs/devel/qapi-code-gen.txt                  | 21 +++++-
tests/Makefile.include                        |  5 +-
qapi/block-core.json                          | 47 +++++++++++--
qapi/introspect.json                          |  8 +++
...ptional-discriminator-invalid-default.json | 12 ++++
...l-discriminator-invalid-specification.json | 12 ++++
...on-optional-discriminator-no-default.json} |  5 +-
...lat-union-superfluous-default-variant.json | 11 ++++
tests/qapi-schema/qapi-schema-test.json       |  9 +++
block.c                                       | 66 ++++++++++++++++++-
block/qcow2.c                                 |  3 +
qobject/block-qdict.c                         | 19 ++++--
tests/check-block-qdict.c                     | 33 ++++++++++
scripts/qapi/common.py                        | 57 +++++++++++++---
scripts/qapi/doc.py                           |  8 ++-
scripts/qapi/introspect.py                    | 10 ++-
scripts/qapi/visit.py                         | 13 ++++
...optional-discriminator-invalid-default.err |  1 +
...tional-discriminator-invalid-default.exit} |  0
...ptional-discriminator-invalid-default.out} |  0
...al-discriminator-invalid-specification.err |  1 +
...l-discriminator-invalid-specification.exit |  1 +
...al-discriminator-invalid-specification.out |  0
...nion-optional-discriminator-no-default.err |  1 +
...ion-optional-discriminator-no-default.exit |  1 +
...nion-optional-discriminator-no-default.out |  0
.../flat-union-optional-discriminator.err     |  1 -
...flat-union-superfluous-default-variant.err |  1 +
...lat-union-superfluous-default-variant.exit |  1 +
...flat-union-superfluous-default-variant.out |  0
tests/qapi-schema/qapi-schema-test.out        |  9 +++
tests/qapi-schema/test-qapi.py                |  2 +
tests/qemu-iotests/059.out                    |  2 +-
tests/qemu-iotests/087                        | 65 ++++++++++--------
tests/qemu-iotests/087.out                    | 26 +++++++-
tests/qemu-iotests/089                        | 25 +++++++
tests/qemu-iotests/089.out                    |  9 +++
tests/qemu-iotests/099.out                    |  4 +-
tests/qemu-iotests/110.out                    |  2 +-
tests/qemu-iotests/198.out                    |  4 +-
tests/qemu-iotests/207.out                    | 10 +--
41 files changed, 436 insertions(+), 69 deletions(-)
create mode 100644 tests/qapi-schema/flat-union-optional-discriminator-invalid-default.json
create mode 100644 tests/qapi-schema/flat-union-optional-discriminator-invalid-specification.json
rename tests/qapi-schema/{flat-union-optional-discriminator.json => flat-union-optional-discriminator-no-default.json} (70%)
create mode 100644 tests/qapi-schema/flat-union-superfluous-default-variant.json
create mode 100644 tests/qapi-schema/flat-union-optional-discriminator-invalid-default.err
rename tests/qapi-schema/{flat-union-optional-discriminator.exit => flat-union-optional-discriminator-invalid-default.exit} (100%)
rename tests/qapi-schema/{flat-union-optional-discriminator.out => flat-union-optional-discriminator-invalid-default.out} (100%)
create mode 100644 tests/qapi-schema/flat-union-optional-discriminator-invalid-specification.err
create mode 100644 tests/qapi-schema/flat-union-optional-discriminator-invalid-specification.exit
create mode 100644 tests/qapi-schema/flat-union-optional-discriminator-invalid-specification.out
create mode 100644 tests/qapi-schema/flat-union-optional-discriminator-no-default.err
create mode 100644 tests/qapi-schema/flat-union-optional-discriminator-no-default.exit
create mode 100644 tests/qapi-schema/flat-union-optional-discriminator-no-default.out
delete mode 100644 tests/qapi-schema/flat-union-optional-discriminator.err
create mode 100644 tests/qapi-schema/flat-union-superfluous-default-variant.err
create mode 100644 tests/qapi-schema/flat-union-superfluous-default-variant.exit
create mode 100644 tests/qapi-schema/flat-union-superfluous-default-variant.out
[Qemu-devel] [PATCH v2 00/10] block: Try to create well typed json:{} filenames
Posted by Max Reitz 5 years, 10 months ago
See cover letter of v1 here:
http://lists.nongnu.org/archive/html/qemu-block/2018-05/msg00290.html


This series depends on Markus's series "block: Configuration fixes and
rbd authentication":

Based-on: <20180607062559.16127-1-armbru@redhat.com>


Changes in v2:
- Rebased on top of Markus's series, which allowed my to drop
  qdict_stringify_for_keyval(), and the patch moving block-specific
  QDict functions into an own header
- %s/2.13/3.0/g

- Patch 1: [Eric]
  - s/must/will/
  - Set the discriminator field to its default value when not given,
    which simplifies the code both here and hopefully in the users, too
- Patch 3: [Eric]
  - Rename existing optional discriminator test and keep it as an error
    test, instead of making it pass
  - Add passing test to qapi-schema-test
- Patch 4: [Daniel]
  - %s/from-image/auto/g
  - Actually handle that format when specified explicitly
- Patch 5: [Eric/Daniel]
  - Reduced complexity by just defaulting to 'aes'
- Patch 6: Rewritten because of the rebase
- Patch 7: Rebase conflicts
- Patch 8:
  - Use qobject_input_visitor_new_flat_confused() from Markus's series
  - Some rebase conflicts in test outputs
  - Also, 198 now explicitly emits '"format": "auto"' due to visitors
    now setting the discriminator field to the default value, thanks to
    the change to patch 1 (working as intended, I suppose)
- Patch 10: Added a couple of qcow2+LUKS blockdev-add test cases for
            various values of encrypt.format


git-backport-diff against v1:

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/10:[0032] [FC] 'qapi: Add default-variant for flat unions'
002/10:[----] [--] 'docs/qapi: Document optional discriminators'
003/10:[0048] [FC] 'tests: Add QAPI optional discriminator tests'
004/10:[0025] [FC] 'qapi: Formalize qcow2 encryption probing'
005/10:[0027] [FC] 'qapi: Formalize qcow encryption probing'
006/10:[0042] [FC] 'qdict: Make qdict_flatten() shallow-clone-friendly'
007/10:[0002] [FC] 'tests: Add QDict clone-flatten test'
008/10:[0035] [FC] 'block: Try to create well typed json:{} filenames'
009/10:[----] [--] 'iotests: Test internal option typing'
010/10:[0089] [FC] 'iotests: qcow2's encrypt.format is now optional'


Max Reitz (10):
  qapi: Add default-variant for flat unions
  docs/qapi: Document optional discriminators
  tests: Add QAPI optional discriminator tests
  qapi: Formalize qcow2 encryption probing
  qapi: Formalize qcow encryption probing
  qdict: Make qdict_flatten() shallow-clone-friendly
  tests: Add QDict clone-flatten test
  block: Try to create well typed json:{} filenames
  iotests: Test internal option typing
  iotests: qcow2's encrypt.format is now optional

 docs/devel/qapi-code-gen.txt                  | 21 +++++-
 tests/Makefile.include                        |  5 +-
 qapi/block-core.json                          | 47 +++++++++++--
 qapi/introspect.json                          |  8 +++
 ...ptional-discriminator-invalid-default.json | 12 ++++
 ...l-discriminator-invalid-specification.json | 12 ++++
 ...on-optional-discriminator-no-default.json} |  5 +-
 ...lat-union-superfluous-default-variant.json | 11 ++++
 tests/qapi-schema/qapi-schema-test.json       |  9 +++
 block.c                                       | 66 ++++++++++++++++++-
 block/qcow2.c                                 |  3 +
 qobject/block-qdict.c                         | 19 ++++--
 tests/check-block-qdict.c                     | 33 ++++++++++
 scripts/qapi/common.py                        | 57 +++++++++++++---
 scripts/qapi/doc.py                           |  8 ++-
 scripts/qapi/introspect.py                    | 10 ++-
 scripts/qapi/visit.py                         | 13 ++++
 ...optional-discriminator-invalid-default.err |  1 +
 ...tional-discriminator-invalid-default.exit} |  0
 ...ptional-discriminator-invalid-default.out} |  0
 ...al-discriminator-invalid-specification.err |  1 +
 ...l-discriminator-invalid-specification.exit |  1 +
 ...al-discriminator-invalid-specification.out |  0
 ...nion-optional-discriminator-no-default.err |  1 +
 ...ion-optional-discriminator-no-default.exit |  1 +
 ...nion-optional-discriminator-no-default.out |  0
 .../flat-union-optional-discriminator.err     |  1 -
 ...flat-union-superfluous-default-variant.err |  1 +
 ...lat-union-superfluous-default-variant.exit |  1 +
 ...flat-union-superfluous-default-variant.out |  0
 tests/qapi-schema/qapi-schema-test.out        |  9 +++
 tests/qapi-schema/test-qapi.py                |  2 +
 tests/qemu-iotests/059.out                    |  2 +-
 tests/qemu-iotests/087                        | 65 ++++++++++--------
 tests/qemu-iotests/087.out                    | 26 +++++++-
 tests/qemu-iotests/089                        | 25 +++++++
 tests/qemu-iotests/089.out                    |  9 +++
 tests/qemu-iotests/099.out                    |  4 +-
 tests/qemu-iotests/110.out                    |  2 +-
 tests/qemu-iotests/198.out                    |  4 +-
 tests/qemu-iotests/207.out                    | 10 +--
 41 files changed, 436 insertions(+), 69 deletions(-)
 create mode 100644 tests/qapi-schema/flat-union-optional-discriminator-invalid-default.json
 create mode 100644 tests/qapi-schema/flat-union-optional-discriminator-invalid-specification.json
 rename tests/qapi-schema/{flat-union-optional-discriminator.json => flat-union-optional-discriminator-no-default.json} (70%)
 create mode 100644 tests/qapi-schema/flat-union-superfluous-default-variant.json
 create mode 100644 tests/qapi-schema/flat-union-optional-discriminator-invalid-default.err
 rename tests/qapi-schema/{flat-union-optional-discriminator.exit => flat-union-optional-discriminator-invalid-default.exit} (100%)
 rename tests/qapi-schema/{flat-union-optional-discriminator.out => flat-union-optional-discriminator-invalid-default.out} (100%)
 create mode 100644 tests/qapi-schema/flat-union-optional-discriminator-invalid-specification.err
 create mode 100644 tests/qapi-schema/flat-union-optional-discriminator-invalid-specification.exit
 create mode 100644 tests/qapi-schema/flat-union-optional-discriminator-invalid-specification.out
 create mode 100644 tests/qapi-schema/flat-union-optional-discriminator-no-default.err
 create mode 100644 tests/qapi-schema/flat-union-optional-discriminator-no-default.exit
 create mode 100644 tests/qapi-schema/flat-union-optional-discriminator-no-default.out
 delete mode 100644 tests/qapi-schema/flat-union-optional-discriminator.err
 create mode 100644 tests/qapi-schema/flat-union-superfluous-default-variant.err
 create mode 100644 tests/qapi-schema/flat-union-superfluous-default-variant.exit
 create mode 100644 tests/qapi-schema/flat-union-superfluous-default-variant.out

-- 
2.17.1


Re: [Qemu-devel] [PATCH v2 00/10] block: Try to create well typed json:{} filenames
Posted by Markus Armbruster 5 years, 10 months ago
Max Reitz <mreitz@redhat.com> writes:

> See cover letter of v1 here:
> http://lists.nongnu.org/archive/html/qemu-block/2018-05/msg00290.html
>
>
> This series depends on Markus's series "block: Configuration fixes and
> rbd authentication":
>
> Based-on: <20180607062559.16127-1-armbru@redhat.com>

PATCH 06+07 applied to qapi-next as fix of latent bug.  Thanks!