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>
(cherry picked from commit b9eaf9ecb1
)
This commit is contained in:
parent
64a216f58e
commit
038a866f81
10
qemu-img.c
10
qemu-img.c
|
@ -213,8 +213,9 @@ static BlockDriverState *bdrv_new_open(const char *filename,
|
||||||
BlockDriverState *bs;
|
BlockDriverState *bs;
|
||||||
BlockDriver *drv;
|
BlockDriver *drv;
|
||||||
char password[256];
|
char password[256];
|
||||||
|
int ret;
|
||||||
|
|
||||||
bs = bdrv_new("");
|
bs = bdrv_new("image");
|
||||||
|
|
||||||
if (fmt) {
|
if (fmt) {
|
||||||
drv = bdrv_find_format(fmt);
|
drv = bdrv_find_format(fmt);
|
||||||
|
@ -225,10 +226,13 @@ static BlockDriverState *bdrv_new_open(const char *filename,
|
||||||
} else {
|
} else {
|
||||||
drv = NULL;
|
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;
|
goto fail;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (bdrv_is_encrypted(bs)) {
|
if (bdrv_is_encrypted(bs)) {
|
||||||
printf("Disk image '%s' is encrypted.\n", filename);
|
printf("Disk image '%s' is encrypted.\n", filename);
|
||||||
if (read_password(password, sizeof(password)) < 0) {
|
if (read_password(password, sizeof(password)) < 0) {
|
||||||
|
|
Loading…
Reference in New Issue