From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:42581) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Whl53-0000O2-3i for qemu-devel@nongnu.org; Tue, 06 May 2014 15:31:15 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Whl4u-0000Us-8R for qemu-devel@nongnu.org; Tue, 06 May 2014 15:31:08 -0400 Received: from mx1.redhat.com ([209.132.183.28]:26949) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Whl4t-0000Sl-VP for qemu-devel@nongnu.org; Tue, 06 May 2014 15:31:00 -0400 From: Max Reitz Date: Tue, 6 May 2014 21:30:21 +0200 Message-Id: <1399404625-6093-1-git-send-email-mreitz@redhat.com> Subject: [Qemu-devel] [PATCH 0/4] block: Allow JSON filenames List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Kevin Wolf , =?UTF-8?q?Beno=C3=AEt=20Canet?= , Stefan Hajnoczi , Max Reitz This series acts as some kind of alternative or v4 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, 2 and 4 are taken directly from the block/json v3 (see backport-diff output). 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:[----] [-C] '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 | 41 +++++++++++++++ include/qapi/qmp/qdict.h | 3 ++ qobject/qdict.c | 32 ++++++++++++ tests/check-qdict.c | 87 ++++++++++++++++++++++++++++++++ tests/qemu-iotests/089 | 123 +++++++++++++++++++++++++++++++++++++++++++++ tests/qemu-iotests/089.out | 39 ++++++++++++++ tests/qemu-iotests/group | 1 + 7 files changed, 326 insertions(+) create mode 100755 tests/qemu-iotests/089 create mode 100644 tests/qemu-iotests/089.out -- 1.9.2