All of lore.kernel.org
 help / color / mirror / Atom feed
From: Paolo Bonzini <pbonzini@redhat.com>
To: Max Reitz <mreitz@redhat.com>, qemu-devel@nongnu.org
Cc: Kevin Wolf <kwolf@redhat.com>,
	Markus Armbruster <armbru@redhat.com>,
	Stefan Hajnoczi <stefanha@redhat.com>
Subject: Re: [Qemu-devel] [PATCH v2 6/6] qemu-nbd: Use BlockBackend where reasonable
Date: Tue, 18 Nov 2014 13:22:53 +0100	[thread overview]
Message-ID: <546B3A1D.30701@redhat.com> (raw)
In-Reply-To: <1416309679-333-7-git-send-email-mreitz@redhat.com>



On 18/11/2014 12:21, Max Reitz wrote:
> Because qemu-nbd creates the BlockBackend by itself, it should create
> the according BlockDriverState tree by itself as well; that means, it
> has call bdrv_open() on its own. This is one of the places where
> qemu-nbd still needs to use a BlockDriverState directly (the root BDS
> below the BB); other places are the configuration of zero detection
> (which may be lifted into the BB eventually, but is not yet) and
> temporarily loading a snapshot.
> 
> Everywhere else, though, qemu-nbd can and thus should use BlockBackend.

... which is not much, but is nevertheless a start. :)

Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>

> Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
> Signed-off-by: Max Reitz <mreitz@redhat.com>
> ---
>  qemu-nbd.c | 10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/qemu-nbd.c b/qemu-nbd.c
> index 60ce50f..d222512 100644
> --- a/qemu-nbd.c
> +++ b/qemu-nbd.c
> @@ -146,7 +146,7 @@ static void read_partition(uint8_t *p, struct partition_record *r)
>      r->nb_sectors_abs = p[12] | p[13] << 8 | p[14] << 16 | p[15] << 24;
>  }
>  
> -static int find_partition(BlockDriverState *bs, int partition,
> +static int find_partition(BlockBackend *blk, int partition,
>                            off_t *offset, off_t *size)
>  {
>      struct partition_record mbr[4];
> @@ -155,7 +155,7 @@ static int find_partition(BlockDriverState *bs, int partition,
>      int ext_partnum = 4;
>      int ret;
>  
> -    if ((ret = bdrv_read(bs, 0, data, 1)) < 0) {
> +    if ((ret = blk_read(blk, 0, data, 1)) < 0) {
>          errno = -ret;
>          err(EXIT_FAILURE, "error while reading");
>      }
> @@ -175,7 +175,7 @@ static int find_partition(BlockDriverState *bs, int partition,
>              uint8_t data1[512];
>              int j;
>  
> -            if ((ret = bdrv_read(bs, mbr[i].start_sector_abs, data1, 1)) < 0) {
> +            if ((ret = blk_read(blk, mbr[i].start_sector_abs, data1, 1)) < 0) {
>                  errno = -ret;
>                  err(EXIT_FAILURE, "error while reading");
>              }
> @@ -720,10 +720,10 @@ int main(int argc, char **argv)
>      }
>  
>      bs->detect_zeroes = detect_zeroes;
> -    fd_size = bdrv_getlength(bs);
> +    fd_size = blk_getlength(blk);
>  
>      if (partition != -1) {
> -        ret = find_partition(bs, partition, &dev_offset, &fd_size);
> +        ret = find_partition(blk, partition, &dev_offset, &fd_size);
>          if (ret < 0) {
>              errno = -ret;
>              err(EXIT_FAILURE, "Could not find partition %d", partition);
> 

  reply	other threads:[~2014-11-18 12:23 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-18 11:21 [Qemu-devel] [PATCH v2 0/6] nbd: Use BlockBackend Max Reitz
2014-11-18 11:21 ` [Qemu-devel] [PATCH v2 1/6] block: Lift more functions into BlockBackend Max Reitz
2014-11-18 11:21 ` [Qemu-devel] [PATCH v2 2/6] block: Add AioContextNotifier functions to BB Max Reitz
2014-11-18 11:21 ` [Qemu-devel] [PATCH v2 3/6] block: Add blk_add_close_notifier() for BB Max Reitz
2014-11-18 11:21 ` [Qemu-devel] [PATCH v2 4/6] nbd: Change external interface to BlockBackend Max Reitz
2014-11-18 11:21 ` [Qemu-devel] [PATCH v2 5/6] nbd: Use BlockBackend internally Max Reitz
2014-11-18 11:21 ` [Qemu-devel] [PATCH v2 6/6] qemu-nbd: Use BlockBackend where reasonable Max Reitz
2014-11-18 12:22   ` Paolo Bonzini [this message]
2014-11-26 16:19 ` [Qemu-devel] [PATCH v2 0/6] nbd: Use BlockBackend Stefan Hajnoczi

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=546B3A1D.30701@redhat.com \
    --to=pbonzini@redhat.com \
    --cc=armbru@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.