On 29.07.22 12:08, Julien Grall wrote:

Hello Julien

> (+ Anthony)
>
> Hi,
>
> On 29/07/2022 07:48, Oleksandr Tyshchenko wrote:
>>
>> On 29.07.22 09:22, Jan Beulich wrote:
>>
>> Hello Jan
>>
>>> On 29.07.2022 03:04, osstest service owner wrote:
>>>> branch xen-unstable-smoke
>>>> xenbranch xen-unstable-smoke
>>>> job build-amd64-libvirt
>>>> testid libvirt-build
>>>>
>>>> Tree: libvirt git://xenbits.xen.org/libvirt.git
>>>> Tree: libvirt_keycodemapdb 
>>>> https://urldefense.com/v3/__https://gitlab.com/keycodemap/keycodemapdb.git__;!!GF_29dbcQIUBPA!0s_nyAgds977dw0dGPgFJGkIaBiKiXH3nR11Ni6gGjN5gQmB0DEhKrm5SUX4R0WhK8YkQemR6RVhiojpzij9yLM$
>>>>  
>>>> [gitlab[.]com]
>>>> Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
>>>> Tree: qemuu git://xenbits.xen.org/qemu-xen.git
>>>> Tree: xen git://xenbits.xen.org/xen.git
>>>>
>>>> *** Found and reproduced problem changeset ***
>>>>
>>>>     Bug is in tree:  xen git://xenbits.xen.org/xen.git
>>>>     Bug introduced: 66dd1c62b2a3c707bd5c55750d10a8223fbd577f
>>>>     Bug not present: f732240fd3bac25116151db5ddeb7203b62e85ce
>>>>     Last fail repro: 
>>>> https://urldefense.com/v3/__http://logs.test-lab.xenproject.org/osstest/logs/171909/__;!!GF_29dbcQIUBPA!0s_nyAgds977dw0dGPgFJGkIaBiKiXH3nR11Ni6gGjN5gQmB0DEhKrm5SUX4R0WhK8YkQemR6RVhiojpmYABJkc$
>>>>  
>>>> [logs[.]test-lab[.]xenproject[.]org]
>>>>
>>>>
>>>>     commit 66dd1c62b2a3c707bd5c55750d10a8223fbd577f
>>>>     Author: Oleksandr Tyshchenko <[email protected]>
>>>>     Date:   Fri Jul 15 22:20:24 2022 +0300
>>>>             libxl: Add support for Virtio disk configuration
>>> Just in case you didn't notice it: Something's wrong here. I didn't 
>>> look
>>> at the details at all. Please advise whether a fix will soon arrive or
>>> whether we should revert for the time being.
>>
>> Sorry for the breakage. At the moment I have no idea what is wrong here,
>
> From the build log:
>
> ../../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) {
>                  ^~~~~~
>
> The switch contains a default branch [1], so I am a bit puzzled why 
> GCC is not happy here.
>
>>
>> I will try to investigate and provide a fix by the end of the day.
>
> So the general expectation is libvirt should be able to compile 
> without using the new features provided by libxl.
>
> In this case, I am not sure there is anything we could do in libxl 
> without large rework to conditionally define 
> LIBXL_DISK_BACKEND_STANDALONE.
>
> So if a fix is necessary, then it will probably need to be in libvirt.


I haven't even imagined that I would need to build something else except 
xen tools itself to check whether patch series doesn't break anything, 
sorry.

I have just reproduced an issue by building libvirt according to the 
steps in the osstest build log (this was a fun). Except an error being 
reported by test there is one more, almost the similar to reported one, 
in libxlUpdateDiskDef() but there switch doesn't contain a default branch.

With that diff I was able to build w/o issues.

diff --git a/src/libxl/libxl_conf.c b/src/libxl/libxl_conf.c
index 8e63d40376..6745212ae8 100644
--- a/src/libxl/libxl_conf.c
+++ b/src/libxl/libxl_conf.c
@@ -1219,6 +1219,7 @@ libxlUpdateDiskDef(virDomainDiskDefPtr l_disk, 
libxl_device_disk *x_disk)
          driver = "phy";
          break;
      case LIBXL_DISK_BACKEND_UNKNOWN:
+    case LIBXL_DISK_BACKEND_STANDALONE:
          break;
      }
      if (driver)
diff --git a/src/libxl/xen_xl.c b/src/libxl/xen_xl.c
index f9dc18ab18..a55871bb56 100644
--- a/src/libxl/xen_xl.c
+++ b/src/libxl/xen_xl.c
@@ -796,6 +796,7 @@ xenParseXLDisk(virConfPtr conf, virDomainDefPtr def)
                          goto fail;
                      virDomainDiskSetType(disk, VIR_STORAGE_TYPE_BLOCK);
                      break;
+                case LIBXL_DISK_BACKEND_STANDALONE:
                  default:
                      virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
                                     _("disk backend not supported: %s"),


>
> Cheers,
>
> [1] 
> https://urldefense.com/v3/__https://xenbits.xen.org/gitweb/?p=libvirt.git;a=blob;f=src*libxl*xen_xl.c;h=f9dc18ab18b208d319282ce422f46c75135c0673;hb=refs*heads*xen-tested-master*l779__;Ly8vLyM!!GF_29dbcQIUBPA!2IntpOXH95iBjVgHqZ8H_0-otnI7PwzKbLVSf6Dg3vsyxkrQOiJQPjPSqJliGoPuaf1JXmszMlKloTcFUDYBOA$
>  
> [xenbits[.]xen[.]org]
>
-- 
Regards,

Oleksandr Tyshchenko

Reply via email to