Commit 0211b9be authored by Jeff Cody's avatar Jeff Cody Committed by Kevin Wolf
Browse files

block/vpc: set errp in vpc_create



Add more useful error information to failure paths in vpc_create().

Signed-off-by: default avatarJeff Cody <jcody@redhat.com>
Reviewed-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
parent 7fa84cd8
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -874,6 +874,7 @@ static int vpc_create(const char *filename, QemuOpts *opts, Error **errp)
        } else if (!strcmp(disk_type_param, "fixed")) {
            disk_type = VHD_FIXED;
        } else {
            error_setg(errp, "Invalid disk type, %s", disk_type_param);
            ret = -EINVAL;
            goto out;
        }
@@ -924,6 +925,7 @@ static int vpc_create(const char *filename, QemuOpts *opts, Error **errp)
        total_sectors = total_size / BDRV_SECTOR_SIZE;
        /* Allow a maximum disk size of approximately 2 TB */
        if (total_sectors > VHD_MAX_SECTORS) {
            error_setg(errp, "Disk size is too large, max size is 2040 GiB");
            ret = -EFBIG;
            goto out;
        }
@@ -974,6 +976,9 @@ static int vpc_create(const char *filename, QemuOpts *opts, Error **errp)
    } else {
        ret = create_fixed_disk(blk, buf, total_size);
    }
    if (ret < 0) {
        error_setg(errp, "Unable to create or write VHD header");
    }

out:
    blk_unref(blk);