All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eric Blake <eblake@redhat.com>
To: Wenchao Xia <xiawenc@linux.vnet.ibm.com>
Cc: kwolf@redhat.com, aliguori@us.ibm.com, phrdina@redhat.com,
	stefanha@gmail.com, qemu-devel@nongnu.org, armbru@redhat.com,
	pbonzini@redhat.com, lcapitulino@redhat.com
Subject: Re: [Qemu-devel] [PATCH 04/11] qemu-img: move image retrieving function to block layer
Date: Fri, 04 Jan 2013 10:02:06 -0700	[thread overview]
Message-ID: <50E70B0E.8070908@redhat.com> (raw)
In-Reply-To: <1356770725-4804-5-git-send-email-xiawenc@linux.vnet.ibm.com>

[-- Attachment #1: Type: text/plain, Size: 2947 bytes --]

On 12/29/2012 01:45 AM, Wenchao Xia wrote:
>   This patch moves collect_image_info() and collect_snapshot()
> to general block layer and encapsulate them as bdrv_query_image_info()
> and bdrv_query_snapshot_infolist(), as mirror function to brdv_query_info().
> The called function in qemu-img.c is switched to bdrv_query_image_info().
> To help filter out snapshot info not needed, a call back function is
> added in bdrv_query_snapshot_infolist().
> 
> Signed-off-by: Wenchao Xia <xiawenc@linux.vnet.ibm.com>
> ---
>  block.c               |  118 +++++++++++++++++++++++++++++++++++++++++++++++++
>  include/block/block.h |    9 ++++
>  qemu-img.c            |   88 +-----------------------------------
>  3 files changed, 129 insertions(+), 86 deletions(-)
> 

> +SnapshotInfoList *bdrv_query_snapshot_infolist(BlockDriverState *bs,
> +                                               SnapshotFilterFunc filter,
> +                                               void *opaque,
> +                                               Error **errp)
> +{
> +    int i, sn_count;
> +    QEMUSnapshotInfo *sn_tab = NULL;
> +    SnapshotInfoList *info_list, *cur_item = NULL, *head = NULL;
> +    sn_count = bdrv_snapshot_list(bs, &sn_tab);
> +    if (sn_count < 0) {
> +        if (errp != NULL) {
> +            error_setg(errp, "bdrv_snapshot_list: error %d\n", sn_count);
> +        }
> +        return NULL;
> +    }
> +
> +    for (i = 0; i < sn_count; i++) {
> +        if ((filter != NULL) && (filter(&sn_tab[i], opaque) != 0)) {

My brief glance through qemu sources makes me think you
over-parenthesized this, and that:

if (filter && filter(&sn_tab[i], opaque) != 0) {

would be sufficient.


> +    bdrv_get_backing_filename(bs, backing_filename, sizeof(backing_filename));
> +    if (backing_filename[0] != '\0') {
> +        info->backing_filename = g_strdup(backing_filename);
> +        info->has_backing_filename = true;
> +        bdrv_get_full_backing_filename(bs, backing_filename2,
> +                                       sizeof(backing_filename2));
> +
> +        if (strcmp(backing_filename, backing_filename2) != 0) {
> +            info->full_backing_filename =
> +                        g_strdup(backing_filename2);

I know it's just code motion, but why the line wrap here?

> +++ b/include/block/block.h
> @@ -316,8 +316,17 @@ void bdrv_get_backing_filename(BlockDriverState *bs,
>                                 char *filename, int filename_size);
>  void bdrv_get_full_backing_filename(BlockDriverState *bs,
>                                      char *dest, size_t sz);
> +
> +typedef int (*SnapshotFilterFunc)(const QEMUSnapshotInfo *sn, void *opaque);
> +/* assume bs is already openned, use g_free to free returned value. */

s/openned/opened/

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 619 bytes --]

  reply	other threads:[~2013-01-04 17:02 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-12-29  8:45 [Qemu-devel] [PATCH 00/11] add qmp/hmp interfaces for snapshot info Wenchao Xia
2012-12-29  8:45 ` [Qemu-devel] [PATCH 01/11] qemu-img: remove unused parameter in collect_image_info() Wenchao Xia
2013-01-02 17:58   ` Eric Blake
2012-12-29  8:45 ` [Qemu-devel] [PATCH 02/11] block: add bdrv_get_filename() function Wenchao Xia
2013-01-02 23:08   ` Eric Blake
2012-12-29  8:45 ` [Qemu-devel] [PATCH 03/11] qemu-img: remove parameter filename in collect_image_info() Wenchao Xia
2013-01-03 18:03   ` Eric Blake
2012-12-29  8:45 ` [Qemu-devel] [PATCH 04/11] qemu-img: move image retrieving function to block layer Wenchao Xia
2013-01-04 17:02   ` Eric Blake [this message]
2012-12-29  8:45 ` [Qemu-devel] [PATCH 05/11] block: rename bdrv_query_info to bdrv_query_block_info Wenchao Xia
2013-01-04 22:49   ` Eric Blake
2012-12-29  8:45 ` [Qemu-devel] [PATCH 06/11] qmp: add interface query-image Wenchao Xia
2013-01-04 23:48   ` Eric Blake
2012-12-29  8:45 ` [Qemu-devel] [PATCH 07/11] block: move bdrv_find_snapshot to block.c Wenchao Xia
2012-12-29  8:45 ` [Qemu-devel] [PATCH 08/11] qmp: add interface query-snapshot Wenchao Xia
2013-01-07 21:21   ` Eric Blake
2013-01-08  2:29     ` Wenchao Xia
2012-12-29  8:45 ` [Qemu-devel] [PATCH 09/11] hmp: export function hmp_handle_error() Wenchao Xia
2012-12-29  8:45 ` [Qemu-devel] [PATCH 10/11] hmp: retrieve info from qmp for snapshot info Wenchao Xia
2012-12-29  8:45 ` [Qemu-devel] [PATCH 11/11] hmp: show snapshot on single block device Wenchao Xia

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=50E70B0E.8070908@redhat.com \
    --to=eblake@redhat.com \
    --cc=aliguori@us.ibm.com \
    --cc=armbru@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=lcapitulino@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=phrdina@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@gmail.com \
    --cc=xiawenc@linux.vnet.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.