[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [libvirt PATCH] libxl: Fix build with recent Xen that introduces new disk backend type
On 7/29/22 17:50, Oleksandr Tyshchenko wrote: > From: Oleksandr Tyshchenko <oleksandr_tyshchenko@xxxxxxxx> > > Xen toolstack has gained basic Virtio support recently which becides > adding various virtio related stuff introduces new disk backend type > LIBXL_DISK_BACKEND_STANDALONE [1]. > > Unfortunately, this caused a regression in libvirt build with Xen support > enabled, reported by the osstest today [2]: > > CC libxl/libvirt_driver_libxl_impl_la-xen_xl.lo > ../../src/libxl/xen_xl.c: In function 'xenParseXLDisk': > ../../src/libxl/xen_xl.c:779:17: error: enumeration value > 'LIBXL_DISK_BACKEND_STANDALONE' > not handled in switch [-Werror=switch-enum] > switch (libxldisk->backend) { > ^~~~~~ > cc1: all warnings being treated as errors > > The interesting fact is that switch already has a default branch (which ought > to cover such new addition), but the error is triggered as -Wswitch-enum > gives a warning about an omitted enumeration code even if there is a default > label. > > Also there is a similar issue in libxlUpdateDiskDef() which I have reproduced > after fixing the first one, but it that case the corresponding switch doesn't > have a default branch. > > Fix both issues by inserting required enumeration item to make the compiler > happy and adding ifdef guard to be able to build against old Xen libraries > as well (without LIBXL_HAVE_DEVICE_DISK_SPECIFICATION). Also add a default > branch to switch in libxlUpdateDiskDef(). > > Please note, that current patch doesn't implement the proper handling of > LIBXL_DISK_BACKEND_STANDALONE and friends, it is just intended to fix > the regression immediately to unblock the osstest. Also it worth mentioning > that current patch won't solve the possible additions in the future. > > [1] > https://lore.kernel.org/xen-devel/20220716163745.28712-1-olekstysh@xxxxxxxxx/ > [2] > https://lore.kernel.org/xen-devel/E1oHEQO-0008GA-Uo@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/ > > Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@xxxxxxxx> > --- > Cc: Julien Grall <julien@xxxxxxx> > Cc: Anthony PERARD <anthony.perard@xxxxxxxxxx> > Cc: Michal Privoznik <mprivozn@xxxxxxxxxx> > > Please note, the patch is tested on: > https://xenbits.xen.org/gitweb/?p=libvirt.git;a=shortlog;h=refs/heads/xen-tested-master > but should work on the master as well (as the same code is present here). > --- > src/libxl/libxl_conf.c | 4 ++++ > src/libxl/xen_xl.c | 3 +++ > 2 files changed, 7 insertions(+) Now that the libxl patch is merged into the master: https://xenbits.xen.org/gitweb/?p=xen.git;a=commit;h=66dd1c62b2a3c707bd5c55750d10a8223fbd577f I can merge this. Reviewed-by: Michal Privoznik <mprivozn@xxxxxxxxxx> Michal
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |