From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=54443 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Pntr3-0001j1-1d for qemu-devel@nongnu.org; Fri, 11 Feb 2011 09:20:14 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Pntr1-0003ap-Od for qemu-devel@nongnu.org; Fri, 11 Feb 2011 09:20:12 -0500 Received: from mx1.redhat.com ([209.132.183.28]:28753) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Pntr1-0003al-EJ for qemu-devel@nongnu.org; Fri, 11 Feb 2011 09:20:11 -0500 From: Kevin Wolf Date: Fri, 11 Feb 2011 15:21:33 +0100 Message-Id: <1297434094-24965-9-git-send-email-kwolf@redhat.com> In-Reply-To: <1297434094-24965-1-git-send-email-kwolf@redhat.com> References: <1297434094-24965-1-git-send-email-kwolf@redhat.com> Subject: [Qemu-devel] [PATCH STABLE 0.14 8/9] 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: jmforbes@linuxtx.org 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 (cherry picked from commit b9eaf9ecb15a9c69a592f386159163d5efc3b919) --- 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