qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v2 13/14] qemu-img: Use QAPI visitor to generate


From: Fam Zheng
Subject: Re: [Qemu-devel] [PATCH v2 13/14] qemu-img: Use QAPI visitor to generate JSON
Date: Thu, 26 Nov 2015 12:41:58 +0800
User-agent: Mutt/1.5.21 (2010-09-15)

On Wed, 11/25 08:42, Eric Blake wrote:
> On 11/25/2015 12:39 AM, Fam Zheng wrote:
> > A visible improvement is that "filename" is now included in the output
> > if it's valid.
> > 
> > Signed-off-by: Fam Zheng <address@hidden>
> > ---
> >  qemu-img.c                 | 39 ++++++++++++-------
> >  tests/qemu-iotests/122.out | 96 
> > ++++++++++++++++++++++++++--------------------
> >  2 files changed, 79 insertions(+), 56 deletions(-)
> > 
> 
> > @@ -2155,21 +2161,26 @@ static void dump_map_entry(OutputFormat 
> > output_format, MapEntry *e,
> >          }
> >          break;
> >      case OFORMAT_JSON:
> > -        printf("%s{ \"start\": %"PRId64", \"length\": %"PRId64","
> > -               " \"depth\": %ld,"
> > -               " \"zero\": %s, \"data\": %s",
> > -               (e->start == 0 ? "[" : ",\n"),
> > -               e->start, e->length, e->depth,
> > -               e->zero ? "true" : "false",
> > -               e->data ? "true" : "false");
> > -        if (e->has_offset) {
> > -            printf(", \"offset\": %"PRId64"", e->offset);
> > -        }
> > -        putchar('}');
> > +        ov = qmp_output_visitor_new();
> > +        visit_type_MapEntry(qmp_output_get_visitor(ov),
> > +                            &e, NULL, &error_abort);
> > +        obj = qmp_output_get_qobject(ov);
> > +        str = qobject_to_json(obj);
> 
> It would be nice to someday add a visitor that goes directly to json,
> instead of through an intermediate QObject. But that's not for this
> series; your conversion here is sane.
> 
> > @@ -2213,9 +2224,9 @@ static int get_block_status(BlockDriverState *bs, 
> > int64_t sector_num,
> >      e->offset = ret & BDRV_BLOCK_OFFSET_MASK;
> >      e->has_offset = !!(ret & BDRV_BLOCK_OFFSET_VALID);
> >      e->depth = depth;
> > -    if (e->has_offset) {
> > +    if (file && e->has_offset) {
> >          e->has_filename = true;
> > -        e->filename = bs->filename;
> > +        e->filename = file->filename;
> 
> Does this hunk belong in a different patch?
> 
> Reviewed-by: Eric Blake <address@hidden>
> 

Yes, I can split this into a separate patch.

Fam




reply via email to

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