[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 0/4] block: Allow JSON filenames
From: |
Max Reitz |
Subject: |
[Qemu-devel] [PATCH v2 0/4] block: Allow JSON filenames |
Date: |
Tue, 6 May 2014 22:29:15 +0200 |
This series acts as some kind of alternative or v5 to the "block/json:
Add JSON protocol driver" series. It makes bdrv_open() parse filenames
prefixed by "json:" as JSON objects (discarding the prefix beforehand)
and then use the resulting QDict as the options for the block device to
be opened with a NULL filename.
The purpose of this is that it may sometimes be desirable to specify
options for a block device where only a filename can be given, e.g., for
backing files. Using this should obviously be the exception, but it is
nice to have if actually needed.
After having written this series, I do indeed agree that it is much
nicer than the old version of having a dedicated "virtual" block driver
for this purpose.
Patches 1 and 2 are taken directly from the block/json v3, patch 4 has
been enriched by an additional scenario (options given directly and
through the filename) and its comments have been adapted to the new
implementation.
v2:
- Detect when options are given both directly and through the filename
and report this as an error to the user [Eric]
A corresponding test case has been added to patch 4
- Update comments in the test added by patch 4 to match the new
implementation [Eric]
- The -g flag is no longer required in patch 4 (as the filename is no
longer relevant for format detection, since it will be dropped after
it has been parsed), so drop it from patch 4
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/4:[----] [--] 'qdict: Add qdict_join()'
002/4:[----] [--] 'check-qdict: Add test for qdict_join()'
003/4:[0012] [FC] 'block: Allow JSON filenames'
004/4:[0035] [FC] 'iotests: Add test for the JSON protocol'
git-backport-diff against [PATCH v3 00/12] block/json:
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/4:[----] [--] 'qdict: Add qdict_join()'
002/4:[----] [--] 'check-qdict: Add test for qdict_join()'
003/4:[down] 'block: Allow JSON filenames'
004/4:[0035] [FC] 'iotests: Add test for the JSON protocol'
Max Reitz (4):
qdict: Add qdict_join()
check-qdict: Add test for qdict_join()
block: Allow JSON filenames
iotests: Add test for the JSON protocol
block.c | 47 ++++++++++++++++
include/qapi/qmp/qdict.h | 3 ++
qobject/qdict.c | 32 +++++++++++
tests/check-qdict.c | 87 ++++++++++++++++++++++++++++++
tests/qemu-iotests/089 | 132 +++++++++++++++++++++++++++++++++++++++++++++
tests/qemu-iotests/089.out | 49 +++++++++++++++++
tests/qemu-iotests/group | 1 +
7 files changed, 351 insertions(+)
create mode 100755 tests/qemu-iotests/089
create mode 100644 tests/qemu-iotests/089.out
--
1.9.2
- [Qemu-devel] [PATCH v2 0/4] block: Allow JSON filenames,
Max Reitz <=
- [Qemu-devel] [PATCH v2 1/4] qdict: Add qdict_join(), Max Reitz, 2014/05/06
- [Qemu-devel] [PATCH v2 2/4] check-qdict: Add test for qdict_join(), Max Reitz, 2014/05/06
- [Qemu-devel] [PATCH v2 4/4] iotests: Add test for the JSON protocol, Max Reitz, 2014/05/06
- [Qemu-devel] [PATCH v2 3/4] block: Allow JSON filenames, Max Reitz, 2014/05/06
- Re: [Qemu-devel] [PATCH v2 0/4] block: Allow JSON filenames, Eric Blake, 2014/05/06