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*.
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: balloon- device, id ""
any_ layout = true balloon- device, id ""
any_ layout = false
dev: virtio-balloon-pci, id "balloon0"
bus: virtio-bus
dev: virtio-
Focal:
dev: virtio-balloon-pci, id "balloon0"
bus: virtio-bus
dev: virtio-
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: 2_4_machine_ options( m); reserved_ end = true; props_add( m->compat_ props, hw_compat_2_3, hw_compat_2_3_len); props_add( m->compat_ props, pc_compat_2_3, pc_compat_2_3_len);
+ pc_i440fx_
+ m->hw_version = "2.4.0";
+ pcmc->broken_
+ compat_
+ compat_
Seems like you have found a new incarnation of this old bug (from before my time here even) to continue to haunt us *sigh*.