Side note: After manually patching tap\0 to qem2, Spencer and I were still unable to get qemu-img info working with the image. Unsure if this is related to the patch or not.
Thanks, Grant Wu grant...@gmail.com On Sat, Mar 19, 2016 at 3:42 PM, Stefan Hajnoczi <stefa...@redhat.com> wrote: > The vpc driver has two methods of determining virtual disk size. The > correct one to use depends on the software that generated the image > file. Add the XenServer creator_app signature so that image size is > correctly detected for those images. > > Reported-by: Grant Wu <grant...@gmail.com> > Reported-by: Spencer Baugh <sba...@catern.com> > Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com> > --- > block/vpc.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/block/vpc.c b/block/vpc.c > index 8435205..7517f75 100644 > --- a/block/vpc.c > +++ b/block/vpc.c > @@ -298,6 +298,7 @@ static int vpc_open(BlockDriverState *bs, QDict > *options, int flags, > * 'qem2' : current_size QEMU (uses current_size) > * 'win ' : current_size Hyper-V > * 'd2v ' : current_size Disk2vhd > + * 'tap\0' : current_size XenServer > * > * The user can override the table values via drive options, however > * even with an override we will still use current_size for images > @@ -305,7 +306,8 @@ 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)) || > s->force_use_chs; > + !!strncmp(footer->creator_app, "d2v ", 4) && > + !!memcmp(footer->creator_app, "tap", 4)) || > s->force_use_chs; > > if (!use_chs || bs->total_sectors == VHD_MAX_GEOMETRY || > s->force_use_sz) { > bs->total_sectors = be64_to_cpu(footer->current_size) / > -- > 2.5.0 > >