diff options
author | Jeff Cody <jcody@redhat.com> | 2016-03-22 23:33:40 -0400 |
---|---|---|
committer | Kevin Wolf <kwolf@redhat.com> | 2016-04-15 17:22:12 +0200 |
commit | bab246db1dbb37fe55fb84c95ad086f550f443a5 (patch) | |
tree | 39d49f756b87557f0137b9364810cbf0a3660b34 /block | |
parent | 9bdfb9e8ac9ae3171f0fba4635afda5c90db2a1e (diff) |
block/vpc: use current_size field for XenConverter VHD images
XenConverter VHD images are another VHD image where current_size is
different from the CHS values in the the format header. Use
current_size as the default, by looking at the creator_app signature
field.
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')
-rw-r--r-- | block/vpc.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/block/vpc.c b/block/vpc.c index 228f2c96e1..c9ebc4af30 100644 --- a/block/vpc.c +++ b/block/vpc.c @@ -300,6 +300,7 @@ static int vpc_open(BlockDriverState *bs, QDict *options, int flags, * 'win ' : current_size Hyper-V * 'd2v ' : current_size Disk2vhd * 'tap\0' : current_size XenServer + * 'CTXS' : current_size XenConverter * * The user can override the table values via drive options, however * even with an override we will still use current_size for images @@ -308,6 +309,7 @@ static int vpc_open(BlockDriverState *bs, QDict *options, int flags, use_chs = (!!strncmp(footer->creator_app, "win ", 4) && !!strncmp(footer->creator_app, "qem2", 4) && !!strncmp(footer->creator_app, "d2v ", 4) && + !!strncmp(footer->creator_app, "CTXS", 4) && !!memcmp(footer->creator_app, "tap", 4)) || s->force_use_chs; if (!use_chs || bs->total_sectors == VHD_MAX_GEOMETRY || s->force_use_sz) { |