Commit 236f1f67 authored by Kevin Wolf's avatar Kevin Wolf
Browse files

Fix error message in drive_init



The real error is the return value of bdrv_open. errno might be overwritten or
not even set to that value in the first place.

Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
parent 552fee93
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -789,6 +789,7 @@ DriveInfo *drive_init(QemuOpts *opts, void *opaque,
    const char *devaddr;
    DriveInfo *dinfo;
    int snapshot = 0;
    int ret;

    *fatal_error = 1;

@@ -1119,9 +1120,10 @@ DriveInfo *drive_init(QemuOpts *opts, void *opaque,

    bdrv_flags |= ro ? 0 : BDRV_O_RDWR;

    if (bdrv_open(dinfo->bdrv, file, bdrv_flags, drv) < 0) {
    ret = bdrv_open(dinfo->bdrv, file, bdrv_flags, drv);
    if (ret < 0) {
        fprintf(stderr, "qemu: could not open disk image %s: %s\n",
                        file, strerror(errno));
                        file, strerror(-ret));
        return NULL;
    }