From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:55310) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XKBb7-0003gk-9R for qemu-devel@nongnu.org; Wed, 20 Aug 2014 15:31:11 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XKBb1-0007jh-5G for qemu-devel@nongnu.org; Wed, 20 Aug 2014 15:31:05 -0400 Received: from mx1.redhat.com ([209.132.183.28]:43355) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XKBb0-0007jc-Ta for qemu-devel@nongnu.org; Wed, 20 Aug 2014 15:30:59 -0400 Received: from int-mx13.intmail.prod.int.phx2.redhat.com (int-mx13.intmail.prod.int.phx2.redhat.com [10.5.11.26]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s7KJUwuU008430 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Wed, 20 Aug 2014 15:30:58 -0400 Message-ID: <53F4F76B.3050805@redhat.com> Date: Wed, 20 Aug 2014 21:30:51 +0200 From: Max Reitz MIME-Version: 1.0 References: <1408557576-14574-1-git-send-email-mreitz@redhat.com> <1408557576-14574-4-git-send-email-mreitz@redhat.com> <53F4F58C.1050205@redhat.com> In-Reply-To: <53F4F58C.1050205@redhat.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 3/4] qcow2: Add overlap-check.template option List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Eric Blake , qemu-devel@nongnu.org Cc: Kevin Wolf , Stefan Hajnoczi On 20.08.2014 21:22, Eric Blake wrote: > On 08/20/2014 11:59 AM, Max Reitz wrote: >> Being able to set the overlap-check option to a string and then refine >> it via the overlap-check.* options is a nice idea for the command line >> but does not work so well for non-flattened dicts. In that case, one can >> only specify either but not both, so add a field to overlap-check.* >> which does the same as directly specifying overlap-check but can be used >> in conjunction with the other fields in non-flattened dicts. >> >> Signed-off-by: Max Reitz >> --- >> block/qcow2.c | 24 ++++++++++++++++++++++-- >> block/qcow2.h | 1 + >> 2 files changed, 23 insertions(+), 2 deletions(-) >> >> diff --git a/block/qcow2.c b/block/qcow2.c >> index c64d611..c6099b5 100644 >> --- a/block/qcow2.c >> +++ b/block/qcow2.c >> @@ -403,6 +403,12 @@ static QemuOptsList qcow2_runtime_opts = { >> "templates (none, constant, cached, all)", >> }, >> { >> + .name = QCOW2_OPT_OVERLAP_TEMPLATE, >> + .type = QEMU_OPT_STRING, >> + .help = "Selects which overlap checks to perform from a range of " >> + "templates (none, constant, cached, all)", >> + }, >> + { > Okay, I see where this is headed. The QMP will allow either > 'overlap-check':'all' (resolve all defaults according to a template > name), or 'overlap-check':{'template':'all','inactive-l1':'none'} (that > is, a struct, where the struct also sets a default but also provides > per-item overrides). Yes, it's my fault for not thinking about how well the second case would work for non-flattened dicts when I originally introduced these options. Max > It took me a couple of reads of this in tandem > with 4/4, but it looks correct.