
On 11/12/20 11:03 AM, Olaf Hering wrote:
Since Xen 4.2 libxl expects device_model_override="/path" instead of device_model="/path".
This has been on my todo list but never got the priority it deserved. Thanks for taking it on. Without your patch, using 'xl create' on xl.cfg converted from domXML by the libxl driver results in WARNING: ignoring device_model directive. WARNING: Use "device_model_override" instead if you really want a non-default device_model
Adjust the code to parse this as <emulator>.
You also have to adjust all the failing {xl,xm}configtests.
While libxl also recognizes device_model_version="", this knob is not supported by libvirt. A runtime detection exists to select either "qemu-xen" or "qemu-xen-traditional".
Correct. It is selected based on the specified <emulator> and not modeled in domXML. Does it need to be exposed to the user? AFAIK those are the only two values we care about, and it is possible to determine which to use based on the <emulator>. Regards, Jim
Signed-off-by: Olaf Hering <olaf@aepfle.de> --- src/libxl/xen_common.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/libxl/xen_common.c b/src/libxl/xen_common.c index c82e487d80..88a784ed04 100644 --- a/src/libxl/xen_common.c +++ b/src/libxl/xen_common.c @@ -1508,7 +1508,7 @@ xenParseConfigCommon(virConfPtr conf, if (xenParseTimeOffset(conf, def) < 0) return -1;
- if (xenConfigCopyStringOpt(conf, "device_model", &def->emulator) < 0) + if (xenConfigCopyStringOpt(conf, "device_model_override", &def->emulator) < 0) return -1;
if (STREQ(nativeFormat, XEN_CONFIG_FORMAT_XL)) { @@ -2242,7 +2242,7 @@ static int xenFormatEmulator(virConfPtr conf, virDomainDefPtr def) { if (def->emulator && - xenConfigSetString(conf, "device_model", def->emulator) < 0) + xenConfigSetString(conf, "device_model_override", def->emulator) < 0) return -1;
return 0;