qemu-img: Improve error messages for failed bdrv_open

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 <kwolf@redhat.com>
Reviewed-by: Anthony Liguori <aliguori@us.ibm.com>
master
Kevin Wolf 2011-02-09 11:25:53 +01:00
parent 10b758e85c
commit b9eaf9ecb1
1 changed files with 7 additions and 3 deletions

View File

@ -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) {