From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44505) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WKUnh-0008UH-5Q for qemu-devel@nongnu.org; Mon, 03 Mar 2014 10:29:11 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WKUnb-0005f8-5i for qemu-devel@nongnu.org; Mon, 03 Mar 2014 10:29:05 -0500 Received: from mx1.redhat.com ([209.132.183.28]:12807) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WKUna-0005eT-ON for qemu-devel@nongnu.org; Mon, 03 Mar 2014 10:28:59 -0500 Received: from int-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s23FSu4K030822 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Mon, 3 Mar 2014 10:28:56 -0500 From: Max Reitz Date: Mon, 3 Mar 2014 16:28:43 +0100 Message-Id: <1393860533-2063-1-git-send-email-mreitz@redhat.com> Subject: [Qemu-devel] [PATCH 00/10] block/json: Add JSON protocol driver List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Kevin Wolf , Stefan Hajnoczi , Max Reitz This series adds a passthrough JSON protocol block driver. Its filenames are JSON objects prefixed by "json:". The objects are used as options for opening another block device which will be the child of the JSON device. Regarding this child device, the JSON driver behaves nearly the same as raw_bsd in that it is just a passthrough driver. The only difference is probably that the JSON driver identifies itself as a block filter, in contrast to raw_bsd. The purpose of this driver 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. Max Reitz (10): qdict: Add qdict_join() block/json: Add JSON protocol driver block/json: Add functions for cache control block/json: Add functions for writing zeroes etc. block/json: Add bdrv_co_get_block_status() block/json: Add ioctl etc. block/json: Add bdrv_get_specific_info() block/raw_bsd: Add bdrv_get_specific_info() block/qapi: Ignore filters on top for format name iotests: Add test for the JSON protocol block/Makefile.objs | 2 +- block/json.c | 236 +++++++++++++++++++++++++++++++++++++++++++++ block/qapi.c | 20 +++- block/raw_bsd.c | 6 ++ include/qapi/qmp/qdict.h | 3 + qobject/qdict.c | 32 ++++++ tests/qemu-iotests/084 | 114 ++++++++++++++++++++++ tests/qemu-iotests/084.out | 39 ++++++++ tests/qemu-iotests/group | 1 + 9 files changed, 450 insertions(+), 3 deletions(-) create mode 100644 block/json.c create mode 100755 tests/qemu-iotests/084 create mode 100644 tests/qemu-iotests/084.out -- 1.9.0