All of lore.kernel.org
 help / color / mirror / Atom feed
From: Fam Zheng <famz@redhat.com>
To: Kevin Wolf <kwolf@redhat.com>, qemu-devel@nongnu.org
Cc: stefanha@redhat.com, mreitz@redhat.com
Subject: Re: [Qemu-devel] [PATCH] block: Use BDRV_O_NO_BACKING where appropriate
Date: Fri, 29 Nov 2013 09:14:03 +0800	[thread overview]
Message-ID: <5297EA5B.1060207@redhat.com> (raw)
In-Reply-To: <1385636547-26826-1-git-send-email-kwolf@redhat.com>

On 2013年11月28日 19:02, Kevin Wolf wrote:
> If you open an image temporarily just because you want to check its size
> or get it flushed, there's no real reason to open the whole backing file
> chain.
>
> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
> ---
>   block.c       | 3 ++-
>   block/qcow2.c | 3 ++-
>   block/vmdk.c  | 2 +-
>   3 files changed, 5 insertions(+), 3 deletions(-)
>
> diff --git a/block.c b/block.c
> index 03e45fc..e2745a5 100644
> --- a/block.c
> +++ b/block.c
> @@ -1061,7 +1061,8 @@ int bdrv_open(BlockDriverState *bs, const char *filename, QDict *options,
>           /* Get the required size from the image */
>           bs1 = bdrv_new("");
>           QINCREF(options);
> -        ret = bdrv_open(bs1, filename, options, 0, drv, &local_err);
> +        ret = bdrv_open(bs1, filename, options, BDRV_O_NO_BACKING,
> +                        drv, &local_err);
>           if (ret < 0) {
>               bdrv_unref(bs1);
>               goto fail;
> diff --git a/block/qcow2.c b/block/qcow2.c
> index 2fe37ed..8e2b6c7 100644
> --- a/block/qcow2.c
> +++ b/block/qcow2.c
> @@ -1588,7 +1588,8 @@ static int qcow2_create2(const char *filename, int64_t total_size,
>
>       /* Reopen the image without BDRV_O_NO_FLUSH to flush it before returning */
>       ret = bdrv_open(bs, filename, NULL,
> -                    BDRV_O_RDWR | BDRV_O_CACHE_WB, drv, &local_err);
> +                    BDRV_O_RDWR | BDRV_O_CACHE_WB | BDRV_O_NO_BACKING,
> +                    drv, &local_err);
>       if (error_is_set(&local_err)) {
>           error_propagate(errp, local_err);
>           goto out;
> diff --git a/block/vmdk.c b/block/vmdk.c
> index 6555663..5fb6c81 100644
> --- a/block/vmdk.c
> +++ b/block/vmdk.c
> @@ -1690,7 +1690,7 @@ static int vmdk_create(const char *filename, QEMUOptionParameter *options,
>       }
>       if (backing_file) {
>           BlockDriverState *bs = bdrv_new("");
> -        ret = bdrv_open(bs, backing_file, NULL, 0, NULL, errp);
> +        ret = bdrv_open(bs, backing_file, NULL, BDRV_O_NO_BACKING, NULL, errp);
>           if (ret != 0) {
>               bdrv_unref(bs);
>               return ret;
>

Reviewed-by: Fam Zheng <famz@redhat.com>

  reply	other threads:[~2013-11-29  1:14 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-28 11:02 [Qemu-devel] [PATCH] block: Use BDRV_O_NO_BACKING where appropriate Kevin Wolf
2013-11-29  1:14 ` Fam Zheng [this message]
2013-11-29 15:36 ` Benoît Canet
2013-12-02  3:39 ` 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=5297EA5B.1060207@redhat.com \
    --to=famz@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=mreitz@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@redhat.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.