From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:41081) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TO40t-0003pT-P5 for qemu-devel@nongnu.org; Tue, 16 Oct 2012 06:04:40 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TO40o-0000fm-NR for qemu-devel@nongnu.org; Tue, 16 Oct 2012 06:04:39 -0400 Received: from mx1.redhat.com ([209.132.183.28]:62980) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TO40o-0000fg-EI for qemu-devel@nongnu.org; Tue, 16 Oct 2012 06:04:34 -0400 Message-ID: <507D3128.9080806@redhat.com> Date: Tue, 16 Oct 2012 12:04:24 +0200 From: Kevin Wolf MIME-Version: 1.0 References: <1350305057-6287-1-git-send-email-stefanha@redhat.com> <1350305057-6287-2-git-send-email-stefanha@redhat.com> In-Reply-To: <1350305057-6287-2-git-send-email-stefanha@redhat.com> Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v2 1/3] qemu-img: Add --backing-chain option to info command List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Stefan Hajnoczi Cc: kashyap.cv@gmail.com, qemu-devel@nongnu.org, =?ISO-8859-15?Q?Beno=EEt?= =?ISO-8859-15?Q?_Canet?= Am 15.10.2012 14:44, schrieb Stefan Hajnoczi: > The qemu-img info --backing-chain option enumerates the backing file > chain. For example, for base.qcow2 <- snap1.qcow2 <- snap2.qcow2 the > output becomes: > > $ qemu-img info --backing-chain snap2.qcow2 > image: snap2.qcow2 > file format: qcow2 > virtual size: 100M (104857600 bytes) > disk size: 196K > cluster_size: 65536 > backing file: snap1.qcow2 > backing file format: qcow2 > > image: snap1.qcow2 > file format: qcow2 > virtual size: 100M (104857600 bytes) > disk size: 196K > cluster_size: 65536 > backing file: base.qcow2 > backing file format: qcow2 > > image: base.qcow2 > file format: qcow2 > virtual size: 100M (104857600 bytes) > disk size: 136K > cluster_size: 65536 > > Signed-off-by: Stefan Hajnoczi > --- > qemu-img.c | 98 ++++++++++++++++++++++++++++++++++++++++++++++++-------------- > 1 file changed, 76 insertions(+), 22 deletions(-) > > diff --git a/qemu-img.c b/qemu-img.c > index f17f187..c717f3e 100644 > --- a/qemu-img.c > +++ b/qemu-img.c > @@ -1249,7 +1249,10 @@ static void dump_human_image_info(ImageInfo *info) > } > } > > -enum {OPTION_OUTPUT = 256}; > +enum { > + OPTION_OUTPUT = 256, > + OPTION_BACKING_CHAIN = 257, > +}; > > typedef enum OutputFormat { > OFORMAT_JSON, > @@ -1260,7 +1263,9 @@ static int img_info(int argc, char **argv) > { > int c; > OutputFormat output_format = OFORMAT_HUMAN; > - const char *filename, *fmt, *output; > + bool chain = false; > + const char *output; > + char *filename, *fmt; Maybe I'm missing something, but where are the strings pointed at by filename and fmt ever modified? If they aren't, strdup() isn't necessary either. Kevin