From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=48427 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PnUW5-0001sx-Ku for qemu-devel@nongnu.org; Thu, 10 Feb 2011 06:16:54 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PnUVz-0005SJ-7X for qemu-devel@nongnu.org; Thu, 10 Feb 2011 06:16:48 -0500 Received: from mx1.redhat.com ([209.132.183.28]:40881) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PnUVy-0005S9-Vs for qemu-devel@nongnu.org; Thu, 10 Feb 2011 06:16:47 -0500 From: Kevin Wolf Date: Thu, 10 Feb 2011 12:18:23 +0100 Message-Id: <1297336703-15632-5-git-send-email-kwolf@redhat.com> In-Reply-To: <1297336703-15632-1-git-send-email-kwolf@redhat.com> References: <1297336703-15632-1-git-send-email-kwolf@redhat.com> Subject: [Qemu-devel] [PATCH v2 4/4] 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: qemu-devel@nongnu.org Cc: kwolf@redhat.com, stefanha@gmail.com, lcapitulino@redhat.com 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 --- 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