[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] libxl/arm: fix guest type conversion
On Wed, Oct 31, 2018 at 08:16:52PM +0000, Julien Grall wrote: > Hi Wei, > > On 10/31/18 2:25 PM, Wei Liu wrote: > > Commit 359970fd8b ("tools/libxl: Switch Arm guest type to PVH") missed > > changing the type field in c_info. This issue didn't surface until > > ef72c93df9 which made creating PV guest on Arm unusable. > > > > Signed-off-by: Wei Liu <wei.liu2@xxxxxxxxxx> > > --- > > Cc: Stefano Stabellini <sstabellini@xxxxxxxxxx> > > Cc: Julien Grall <julien.grall@xxxxxxx> > > > > Julien, can you give this a quick test? Put type='pv' in your Arm > > guest xl cfg and note the difference before and after this patch. > > I tested on arm64 with and without the patch: > > Tested-by: Julien Grall <julien.grall@xxxxxxx> > > > > > This should fix libvirt breakage. > > --- > > tools/libxl/libxl_create.c | 10 ++++++++++ > > 1 file changed, 10 insertions(+) > > > > diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c > > index 4bb750e951..311957f87c 100644 > > --- a/tools/libxl/libxl_create.c > > +++ b/tools/libxl/libxl_create.c > > @@ -35,6 +35,16 @@ int libxl__domain_create_info_setdefault(libxl__gc *gc, > > return ERROR_INVAL; > > } > > +#if defined(__arm__) || defined(__aarch64__) > > + if (c_info->type == LIBXL_DOMAIN_TYPE_PV) { > > + LOG(WARN, "Converting PV guest to PVH."); > > + LOG(WARN, "Arm guest are now PVH."); > > + LOG(WARN, "Please fix your configuration file/toolstack."); > > We now end up to have this message printed twice. I thought we need some logging so I copied them here. > Do you see a use case > where c_info->type is different from b_info->type? Do we need a check for > that somewhere in the code? No, I don't think there will be cases where c_info->type is different from b_info->type. The type in b_info is used as a key to the keyed union. The normal way of using it is to call libxl_domain_build_info_init_type with c_info->type (see xl_parse.c:L1316). I tried to follow that path as well, but the plumbing became unwieldy. Regarding adding a check, that's probably a good idea, but it is out of scope of this patch. Wei. > > > + > > + c_info->type = LIBXL_DOMAIN_TYPE_PVH; > > + } > > +#endif > > + > > if (c_info->type != LIBXL_DOMAIN_TYPE_PV) { > > libxl_defbool_setdefault(&c_info->hap, true); > > libxl_defbool_setdefault(&c_info->oos, true); > > > > Cheers, > > -- > Julien Grall _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |