Comment 3 for bug 1902654

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

I spawned "pc-i440fx-wily" (which is actually xenial in very early days due to a bug back then) guests on Bionic and Focal.

New types like Bionic and Focal all have "any_layout = true" in all slots.
Which is reasonable as they all are post 2.3 where this was later introduced as new default.

Defining the type to "pc-i440fx-wily" on Bionic and Focal shows the issue as reported:

Bionic:
      dev: virtio-balloon-pci, id "balloon0"
        bus: virtio-bus
          dev: virtio-balloon-device, id ""
            any_layout = true
Focal:
      dev: virtio-balloon-pci, id "balloon0"
        bus: virtio-bus
          dev: virtio-balloon-device, id ""
            any_layout = false

As already reported the hw_compat_2_3 should disable that.
But since the wily/xenial confusion was exactly that maybe something was lost there when porting to newer code. There was a change how types got handled later on which might have been the source of this.

The history of the odd Wily type is in these bugs:
- bug 1621042 Xenial used a wily type
- bug 1829868 wily type was a hybrid of 2.4 / 2.3 types

Therefore the "modern" pc_i440fx_wily_machine_options use this mix to reflect that:
 + pc_i440fx_2_4_machine_options(m);
 + m->hw_version = "2.4.0";
 + pcmc->broken_reserved_end = true;
 + compat_props_add(m->compat_props, hw_compat_2_3, hw_compat_2_3_len);
 + compat_props_add(m->compat_props, pc_compat_2_3, pc_compat_2_3_len);

Seems like you have found a new incarnation of this old bug (from before my time here even) to continue to haunt us *sigh*.