From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54409) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YIMt8-0004D1-Iy for qemu-devel@nongnu.org; Mon, 02 Feb 2015 14:42:27 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YIMt3-00077g-KT for qemu-devel@nongnu.org; Mon, 02 Feb 2015 14:42:26 -0500 Received: from mx1.redhat.com ([209.132.183.28]:59057) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YIMt3-00076p-Bt for qemu-devel@nongnu.org; Mon, 02 Feb 2015 14:42:21 -0500 Message-ID: <54CFD318.3040104@redhat.com> Date: Mon, 02 Feb 2015 14:42:16 -0500 From: Max Reitz MIME-Version: 1.0 References: <1422284444-12529-1-git-send-email-mreitz@redhat.com> <1422284444-12529-6-git-send-email-mreitz@redhat.com> <20150202183501.GC19586@noname.redhat.com> In-Reply-To: <20150202183501.GC19586@noname.redhat.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v3 05/14] qemu-img: Use blk_new_open() in img_open() List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Kevin Wolf Cc: Stefano Stabellini , qemu-devel@nongnu.org, Stefan Hajnoczi , Markus Armbruster On 2015-02-02 at 13:35, Kevin Wolf wrote: > Am 26.01.2015 um 16:00 hat Max Reitz geschrieben: >> Signed-off-by: Max Reitz >> --- >> qemu-img.c | 20 ++++++-------------- >> 1 file changed, 6 insertions(+), 14 deletions(-) >> >> diff --git a/qemu-img.c b/qemu-img.c >> index 4e9a7f5..be1953d 100644 >> --- a/qemu-img.c >> +++ b/qemu-img.c >> @@ -291,32 +291,24 @@ static BlockBackend *img_open(const char *id, const char *filename, >> { >> BlockBackend *blk; >> BlockDriverState *bs; >> - BlockDriver *drv; >> char password[256]; >> Error *local_err = NULL; >> - int ret; >> - >> - blk = blk_new_with_bs(id, &error_abort); >> - bs = blk_bs(blk); >> + QDict *options = NULL; >> >> if (fmt) { >> - drv = bdrv_find_format(fmt); >> - if (!drv) { >> - error_report("Unknown file format '%s'", fmt); >> - goto fail; >> - } >> - } else { >> - drv = NULL; >> + options = qdict_new(); >> + qdict_put_obj(options, "driver", QOBJECT(qstring_from_str(fmt))); > I'm only noticing it here, though you did the same in the previous > patches. This can be written shorter as: > > qdict_put(options, "driver", qstring_from_str(fmt)); Indeed, will do. Max >> } >> >> - ret = bdrv_open(&bs, filename, NULL, NULL, flags, drv, &local_err); >> - if (ret < 0) { >> + blk = blk_new_open(id, filename, NULL, options, flags, &local_err); >> + if (!blk) { >> error_report("Could not open '%s': %s", filename, >> error_get_pretty(local_err)); >> error_free(local_err); >> goto fail; >> } >> >> + bs = blk_bs(blk); >> if (bdrv_is_encrypted(bs) && require_io) { >> qprintf(quiet, "Disk image '%s' is encrypted.\n", filename); >> if (read_password(password, sizeof(password)) < 0) { > Kevin