qemu-devel
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]