summaryrefslogtreecommitdiffstats
path: root/block/vpc.c
diff options
context:
space:
mode:
authorJeff Cody <jcody@redhat.com>2016-03-22 23:33:38 -0400
committerTimothy Pearson <tpearson@raptorengineering.com>2019-11-29 20:03:49 -0600
commitacc486406b05ef2d3d53b177f191d16fe246b744 (patch)
treee2e61997a87c570bb02a546b4bc2664a5f366d32 /block/vpc.c
parent64558f4050134c437c4ac8ff4d1325ceb6ec2dd5 (diff)
downloadhqemu-acc486406b05ef2d3d53b177f191d16fe246b744.zip
hqemu-acc486406b05ef2d3d53b177f191d16fe246b744.tar.gz
block/vpc: set errp in vpc_create
Add more useful error information to failure paths in vpc_create(). Signed-off-by: Jeff Cody <jcody@redhat.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'block/vpc.c')
-rw-r--r--block/vpc.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/block/vpc.c b/block/vpc.c
index 3713ec3..5aded1a 100644
--- a/block/vpc.c
+++ b/block/vpc.c
@@ -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);
OpenPOWER on IntegriCloud