All of lore.kernel.org
 help / color / mirror / Atom feed
From: Wenchao Xia <xiawenc@linux.vnet.ibm.com>
To: Stefan Hajnoczi <stefanha@redhat.com>
Cc: Kevin Wolf <kwolf@redhat.com>, Fam Zheng <famz@redhat.com>,
	qemu-devel@nongnu.org, imain@redhat.com,
	Paolo Bonzini <pbonzini@redhat.com>,
	dietmar@proxmox.com
Subject: Re: [Qemu-devel] [PATCH v5 04/11] blockdev: drop redundant proto_drv check
Date: Thu, 06 Jun 2013 13:00:28 +0800	[thread overview]
Message-ID: <51B0176C.20509@linux.vnet.ibm.com> (raw)
In-Reply-To: <1369917299-5725-5-git-send-email-stefanha@redhat.com>

于 2013-5-30 20:34, Stefan Hajnoczi 写道:
> It is not necessary to check that we can find a protocol block driver
> since we create or open the image file.  This produces the error that we
> need anyway.
> 
> Besides, the QERR_INVALID_BLOCK_FORMAT is inappropriate since the
> protocol is incorrect rather than the format.
> 
> Also drop an empty line between bdrv_open() and checking its return
> value.  This may be due to copy-pasting from earlier code that performed
> other operations before handling errors.
> 
> Reported-by: Kevin Wolf <kwolf@redhat.com>
> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
> ---
>   blockdev.c | 15 ---------------
>   1 file changed, 15 deletions(-)
> 
> diff --git a/blockdev.c b/blockdev.c
> index b9b2d10..01db519 100644
> --- a/blockdev.c
> +++ b/blockdev.c
> @@ -818,7 +818,6 @@ typedef struct ExternalSnapshotStates {
>   static void external_snapshot_prepare(BlkTransactionStates *common,
>                                         Error **errp)
>   {
> -    BlockDriver *proto_drv;
>       BlockDriver *drv;
>       int flags, ret;
>       Error *local_err = NULL;
> @@ -874,12 +873,6 @@ static void external_snapshot_prepare(BlkTransactionStates *common,
> 
>       flags = states->old_bs->open_flags;
> 
> -    proto_drv = bdrv_find_protocol(new_image_file);
> -    if (!proto_drv) {
> -        error_set(errp, QERR_INVALID_BLOCK_FORMAT, format);
> -        return;
> -    }
> -
>       /* create new image w/backing file */
>       if (mode != NEW_IMAGE_MODE_EXISTING) {
>           bdrv_img_create(new_image_file, format,
> @@ -1368,7 +1361,6 @@ void qmp_drive_mirror(const char *device, const char *target,
>   {
>       BlockDriverState *bs;
>       BlockDriverState *source, *target_bs;
> -    BlockDriver *proto_drv;
>       BlockDriver *drv = NULL;
>       Error *local_err = NULL;
>       int flags;
> @@ -1436,12 +1428,6 @@ void qmp_drive_mirror(const char *device, const char *target,
>           sync = MIRROR_SYNC_MODE_FULL;
>       }
> 
> -    proto_drv = bdrv_find_protocol(target);
> -    if (!proto_drv) {
> -        error_set(errp, QERR_INVALID_BLOCK_FORMAT, format);
> -        return;
> -    }
> -
>       bdrv_get_geometry(bs, &size);
>       size *= 512;
>       if (sync == MIRROR_SYNC_MODE_FULL && mode != NEW_IMAGE_MODE_EXISTING) {
> @@ -1476,7 +1462,6 @@ void qmp_drive_mirror(const char *device, const char *target,
>        */
>       target_bs = bdrv_new("");
>       ret = bdrv_open(target_bs, target, NULL, flags | BDRV_O_NO_BACKING, drv);
> -
>       if (ret < 0) {
>           bdrv_delete(target_bs);
>           error_set(errp, QERR_OPEN_FILE_FAILED, target);
> 
  Although it is not merged yet, I'll use it as pre-patches in my
series which add internal snapshot support in qmp_transaction.

Reviewed-by: Wenchao Xia <xiawenc@linux.vnet.ibm.com>

-- 
Best Regards

Wenchao Xia

  parent reply	other threads:[~2013-06-06  5:02 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-30 12:34 [Qemu-devel] [PATCH v5 00/11] block: drive-backup live backup command Stefan Hajnoczi
2013-05-30 12:34 ` [Qemu-devel] [PATCH v5 01/11] notify: add NotiferWithReturn so notifier list can abort Stefan Hajnoczi
2013-05-30 22:27   ` Eric Blake
2013-06-03  9:11     ` Stefan Hajnoczi
2013-06-19 10:55   ` Kevin Wolf
2013-05-30 12:34 ` [Qemu-devel] [PATCH v5 02/11] block: add bdrv_add_before_write_notifier() Stefan Hajnoczi
2013-05-30 22:47   ` Eric Blake
2013-06-19 10:56   ` Kevin Wolf
2013-05-30 12:34 ` [Qemu-devel] [PATCH v5 03/11] block: add basic backup support to block driver Stefan Hajnoczi
2013-06-06  3:56   ` Fam Zheng
2013-06-06  8:05     ` Stefan Hajnoczi
2013-06-06  8:56       ` Fam Zheng
2013-06-07  7:18         ` Stefan Hajnoczi
2013-06-13  6:03           ` Wenchao Xia
2013-06-13  6:07             ` Wenchao Xia
2013-06-13  6:33               ` Fam Zheng
2013-06-13  8:02                 ` Wenchao Xia
2013-06-13  8:51                 ` Stefan Hajnoczi
2013-06-17  3:43   ` Fam Zheng
2013-06-17 12:36     ` Stefan Hajnoczi
2013-06-18 14:52   ` Kevin Wolf
2013-06-19  7:38     ` Stefan Hajnoczi
2013-06-19 10:50   ` Kevin Wolf
2013-06-19 11:14     ` Paolo Bonzini
2013-06-20 12:05       ` Stefan Hajnoczi
2013-06-19 11:19     ` Paolo Bonzini
2013-06-20 12:06       ` Stefan Hajnoczi
2013-06-20 12:11     ` Stefan Hajnoczi
2013-05-30 12:34 ` [Qemu-devel] [PATCH v5 04/11] blockdev: drop redundant proto_drv check Stefan Hajnoczi
2013-06-03 17:14   ` Eric Blake
2013-06-06  5:00   ` Wenchao Xia [this message]
2013-06-19 10:57   ` Kevin Wolf
2013-05-30 12:34 ` [Qemu-devel] [PATCH v5 05/11] blockdev: use bdrv_getlength() in qmp_drive_mirror() Stefan Hajnoczi
2013-05-30 13:24   ` Paolo Bonzini
2013-06-03 17:15   ` Eric Blake
2013-06-19 10:58   ` Kevin Wolf
2013-05-30 12:34 ` [Qemu-devel] [PATCH v5 06/11] block: add drive-backup QMP command Stefan Hajnoczi
2013-06-03 17:09   ` Eric Blake
2013-06-19 11:07   ` Kevin Wolf
2013-06-20 12:19     ` Stefan Hajnoczi
2013-06-20 13:15       ` Kevin Wolf
2013-05-30 12:34 ` [Qemu-devel] [PATCH v5 07/11] blockdev: rename BlkTransactionStates to singular Stefan Hajnoczi
2013-05-30 22:55   ` Eric Blake
2013-06-19 11:13   ` Kevin Wolf
2013-05-30 12:34 ` [Qemu-devel] [PATCH v5 08/11] blockdev: allow BdrvActionOps->commit() to be NULL Stefan Hajnoczi
2013-05-30 22:57   ` Eric Blake
2013-06-03  9:16     ` Stefan Hajnoczi
2013-06-19 11:14   ` Kevin Wolf
2013-05-30 12:34 ` [Qemu-devel] [PATCH v5 09/11] blockdev: add DriveBackup transaction Stefan Hajnoczi
2013-06-03 17:20   ` Eric Blake
2013-06-19 11:17   ` Kevin Wolf
2013-05-30 12:34 ` [Qemu-devel] [PATCH v5 10/11] blockdev: add Abort transaction Stefan Hajnoczi
2013-05-30 13:11   ` Eric Blake
2013-06-03  9:21     ` Stefan Hajnoczi
2013-06-19 11:21       ` Kevin Wolf
2013-06-21  9:31         ` Eric Blake
2013-05-30 12:34 ` [Qemu-devel] [PATCH v5 11/11] qemu-iotests: add 055 drive-backup test case Stefan Hajnoczi
2013-06-19 12:41   ` Kevin Wolf
2013-06-06  5:06 ` [Qemu-devel] [PATCH v5 00/11] block: drive-backup live backup command 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=51B0176C.20509@linux.vnet.ibm.com \
    --to=xiawenc@linux.vnet.ibm.com \
    --cc=dietmar@proxmox.com \
    --cc=famz@redhat.com \
    --cc=imain@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=pbonzini@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.