All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Benoît Canet" <benoit.canet@irqsave.net>
To: Max Reitz <mreitz@redhat.com>
Cc: Kevin Wolf <kwolf@redhat.com>,
	qemu-devel@nongnu.org, Stefan Hajnoczi <stefanha@redhat.com>
Subject: Re: [Qemu-devel] [PATCH 05/10] block: Reuse reference handling from bdrv_open()
Date: Mon, 27 Jan 2014 03:56:15 +0100	[thread overview]
Message-ID: <20140127025614.GD7415@irqsave.net> (raw)
In-Reply-To: <1390762963-25538-6-git-send-email-mreitz@redhat.com>

Le Sunday 26 Jan 2014 à 20:02:38 (+0100), Max Reitz a écrit :
> Remove the reference parameter and the related handling code from
> bdrv_file_open(), since it exists in bdrv_open() now as well.
> 
> Signed-off-by: Max Reitz <mreitz@redhat.com>
> ---
>  block.c | 33 +++++++--------------------------
>  1 file changed, 7 insertions(+), 26 deletions(-)
> 
> diff --git a/block.c b/block.c
> index c7219cb..6c29115 100644
> --- a/block.c
> +++ b/block.c
> @@ -948,8 +948,7 @@ free_and_fail:
>   * dictionary, it needs to use QINCREF() before calling bdrv_file_open.
>   */
>  static int bdrv_file_open(BlockDriverState **pbs, const char *filename,
> -                          const char *reference, QDict *options, int flags,
> -                          Error **errp)
> +                          QDict *options, int flags, Error **errp)
>  {
>      BlockDriverState *bs = NULL;
>      BlockDriver *drv;
> @@ -958,24 +957,6 @@ static int bdrv_file_open(BlockDriverState **pbs, const char *filename,
>      Error *local_err = NULL;
>      int ret;
>  
> -    if (reference) {
> -        if (filename || qdict_size(options)) {
> -            error_setg(errp, "Cannot reference an existing block device with "
> -                       "additional options or a new filename");
> -            return -EINVAL;
> -        }
> -        QDECREF(options);
> -
> -        bs = bdrv_find(reference);
> -        if (!bs) {
> -            error_setg(errp, "Cannot find block device '%s'", reference);
> -            return -ENODEV;
> -        }
> -        bdrv_ref(bs);
> -        *pbs = bs;
> -        return 0;
> -    }
> -
>      bs = bdrv_new("");
>      bs->options = options;
>      options = qdict_clone_shallow(options);
> @@ -1228,12 +1209,6 @@ int bdrv_open(BlockDriverState **pbs, const char *filename,
>          options = qdict_new();
>      }
>  
> -    if (flags & BDRV_O_PROTOCOL) {
> -        assert(!drv);
> -        return bdrv_file_open(pbs, filename, reference, options,
> -                              flags & ~BDRV_O_PROTOCOL, errp);
> -    }
> -
>      if (reference) {
>          bool options_non_empty = qdict_size(options);
>          QDECREF(options);
> @@ -1260,6 +1235,12 @@ int bdrv_open(BlockDriverState **pbs, const char *filename,
>          return 0;
>      }
>  
> +    if (flags & BDRV_O_PROTOCOL) {
> +        assert(!drv);
> +        return bdrv_file_open(pbs, filename, options, flags & ~BDRV_O_PROTOCOL,
> +                              errp);
> +    }
> +
>      if (*pbs) {
>          bs = *pbs;
>      } else {
> -- 
> 1.8.5.3
> 
> 
Reviewed-by: Benoit Canet <benoit@irqsave.net>

  reply	other threads:[~2014-01-27  2:56 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-01-26 19:02 [Qemu-devel] [PATCH 00/10] block: Integrate bdrv_file_open() into bdrv_open() Max Reitz
2014-01-26 19:02 ` [Qemu-devel] [PATCH 01/10] block: Change BDS parameter of bdrv_open() to ** Max Reitz
2014-01-27  2:38   ` Benoît Canet
2014-01-27 18:51     ` Max Reitz
2014-01-27 19:31   ` Jeff Cody
2014-01-27 19:35     ` Max Reitz
2014-01-29 11:50   ` Kevin Wolf
2014-01-31 20:07     ` Max Reitz
2014-02-03  9:49       ` Kevin Wolf
2014-01-26 19:02 ` [Qemu-devel] [PATCH 02/10] block: Add reference parameter to bdrv_open() Max Reitz
2014-01-26 19:02 ` [Qemu-devel] [PATCH 03/10] block: Make bdrv_file_open() static Max Reitz
2014-01-27  2:51   ` Benoît Canet
2014-01-29 13:26   ` Kevin Wolf
2014-01-31 20:20     ` Max Reitz
2014-02-03 10:05       ` Kevin Wolf
2014-01-26 19:02 ` [Qemu-devel] [PATCH 04/10] block: Reuse NULL options check from bdrv_open() Max Reitz
2014-01-27  2:52   ` Benoît Canet
2014-01-26 19:02 ` [Qemu-devel] [PATCH 05/10] block: Reuse reference handling " Max Reitz
2014-01-27  2:56   ` Benoît Canet [this message]
2014-01-26 19:02 ` [Qemu-devel] [PATCH 06/10] block: Remove bdrv_new() from bdrv_file_open() Max Reitz
2014-01-27  3:04   ` Benoît Canet
2014-01-29 13:35   ` Kevin Wolf
2014-01-31 20:21     ` Max Reitz
2014-01-26 19:02 ` [Qemu-devel] [PATCH 07/10] block: Reuse fail path from bdrv_open() Max Reitz
2014-01-27  3:10   ` Benoît Canet
2014-01-27 18:58     ` Max Reitz
2014-01-29 13:40   ` Kevin Wolf
2014-01-26 19:02 ` [Qemu-devel] [PATCH 08/10] block: Reuse bs->options setting " Max Reitz
2014-01-27  3:13   ` Benoît Canet
2014-01-29 13:45   ` Kevin Wolf
2014-01-31 20:25     ` Max Reitz
2014-01-26 19:02 ` [Qemu-devel] [PATCH 09/10] block: Reuse success path " Max Reitz
2014-01-27 17:44   ` Jeff Cody
2014-01-27 19:06     ` Max Reitz
2014-01-26 19:02 ` [Qemu-devel] [PATCH 10/10] block: Remove bdrv_open_image()'s force_raw option Max Reitz

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=20140127025614.GD7415@irqsave.net \
    --to=benoit.canet@irqsave.net \
    --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.