From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:51061) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b4fSo-0003tU-Nk for qemu-devel@nongnu.org; Sun, 22 May 2016 22:19:27 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1b4fSm-0003qq-Oi for qemu-devel@nongnu.org; Sun, 22 May 2016 22:19:25 -0400 From: Fam Zheng Date: Mon, 23 May 2016 10:19:35 +0800 Message-Id: <1463969978-24970-2-git-send-email-famz@redhat.com> In-Reply-To: <1463969978-24970-1-git-send-email-famz@redhat.com> References: <1463969978-24970-1-git-send-email-famz@redhat.com> Subject: [Qemu-devel] [PATCH v2 1/4] blockdev-backup: Use bdrv_lookup_bs on target List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Kevin Wolf , Max Reitz , Markus Armbruster , Stefan Hajnoczi , Paolo Bonzini , "Michael S. Tsirkin" , qemu-block@nongnu.org This allows backing up to a BDS that has not been attached to any BB. Signed-off-by: Fam Zheng --- blockdev.c | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/blockdev.c b/blockdev.c index 40e4e6f..026ead0 100644 --- a/blockdev.c +++ b/blockdev.c @@ -3346,7 +3346,7 @@ void do_blockdev_backup(const char *device, const char *target, BlockdevOnError on_target_error, BlockJobTxn *txn, Error **errp) { - BlockBackend *blk, *target_blk; + BlockBackend *blk; BlockDriverState *bs; BlockDriverState *target_bs; Error *local_err = NULL; @@ -3377,18 +3377,11 @@ void do_blockdev_backup(const char *device, const char *target, } bs = blk_bs(blk); - target_blk = blk_by_name(target); - if (!target_blk) { - error_setg(errp, "Device '%s' not found", target); + target_bs = bdrv_lookup_bs(target, target, errp); + if (!target_bs) { goto out; } - if (!blk_is_available(target_blk)) { - error_setg(errp, "Device '%s' has no medium", target); - goto out; - } - target_bs = blk_bs(target_blk); - bdrv_ref(target_bs); bdrv_set_aio_context(target_bs, aio_context); backup_start(bs, target_bs, speed, sync, NULL, on_source_error, -- 2.8.2