diff mbox

[for-2.6,3/7] block/vpc: use current_size field for XenConverter VHD images

Message ID 1c358f5d72892d6b05a33c29e3b3b037e4a72630.1458702790.git.jcody@redhat.com
State New
Headers show

Commit Message

Jeff Cody March 23, 2016, 3:33 a.m. UTC
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>
---
 block/vpc.c | 2 ++
 1 file changed, 2 insertions(+)
diff mbox

Patch

diff --git a/block/vpc.c b/block/vpc.c
index 8b8b9a7..6ad8406 100644
--- a/block/vpc.c
+++ b/block/vpc.c
@@ -299,6 +299,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
@@ -307,6 +308,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) {