From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=36805 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PnYmP-0000ao-5I for qemu-devel@nongnu.org; Thu, 10 Feb 2011 10:50:02 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PnYmG-00081q-V5 for qemu-devel@nongnu.org; Thu, 10 Feb 2011 10:49:53 -0500 Received: from mx1.redhat.com ([209.132.183.28]:5992) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PnYmG-00081O-LG for qemu-devel@nongnu.org; Thu, 10 Feb 2011 10:49:52 -0500 From: Kevin Wolf Date: Thu, 10 Feb 2011 16:51:23 +0100 Message-Id: <1297353086-4844-9-git-send-email-kwolf@redhat.com> In-Reply-To: <1297353086-4844-1-git-send-email-kwolf@redhat.com> References: <1297353086-4844-1-git-send-email-kwolf@redhat.com> Subject: [Qemu-devel] [PATCH 08/11] qemu-img: Improve error messages for failed bdrv_open List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: anthony@codemonkey.ws Cc: kwolf@redhat.com, qemu-devel@nongnu.org Output the error message string of the bdrv_open return code. Also set a non-empty device name for the images because the unknown feature error message includes it. Signed-off-by: Kevin Wolf Reviewed-by: Anthony Liguori --- qemu-img.c | 10 +++++++--- 1 files changed, 7 insertions(+), 3 deletions(-) diff --git a/qemu-img.c b/qemu-img.c index 4a37358..7e3cc4c 100644 --- a/qemu-img.c +++ b/qemu-img.c @@ -213,8 +213,9 @@ static BlockDriverState *bdrv_new_open(const char *filename, BlockDriverState *bs; BlockDriver *drv; char password[256]; + int ret; - bs = bdrv_new(""); + bs = bdrv_new("image"); if (fmt) { drv = bdrv_find_format(fmt); @@ -225,10 +226,13 @@ static BlockDriverState *bdrv_new_open(const char *filename, } else { drv = NULL; } - if (bdrv_open(bs, filename, flags, drv) < 0) { - error_report("Could not open '%s'", filename); + + ret = bdrv_open(bs, filename, flags, drv); + if (ret < 0) { + error_report("Could not open '%s': %s", filename, strerror(-ret)); goto fail; } + if (bdrv_is_encrypted(bs)) { printf("Disk image '%s' is encrypted.\n", filename); if (read_password(password, sizeof(password)) < 0) { -- 1.7.2.3