In testing <smbios mode='host'/>, I noticed a couple of problems.
First, qemu rejected the command line we gave it (invalid UUID);
ifixingthat showed that all other arguments were being given literal
"" which then made the guest smbios differ from the host. Second,
the qemu option -smbios type=1,family=string wasn't supported, which
lead to a spurious difference between host and guest.
Meanwhile, qemu has a bug where '-smbios type=1,uuid=uuid' must parse
as a valid uuid, but is otherwise ignored. The current qemu.git code
base _only_ sets smbios uuid from the '-uuid uuid' argument. I've
filed a bug against the qemu folks asking whether this is intended (in
which case we have to modify libvirt to change the -uuid argument it
outputs when smbios is specified), or an oversight (hopefully the
latter, since it's still nice to correlate
/var/log/libvirt/qemu/....log with the XML uuid even when that differs
from the smbios uuid presented to the guest.)
Eric Blake (2):
qemu: avoid adding "" in smbios arguments
smbios: support system family
docs/schemas/domain.rng | 1 +
src/conf/domain_conf.c | 9 +++++++-
src/qemu/qemu_conf.c | 26 +++++++++++++---------
src/util/sysinfo.c | 7 ++++++
src/util/sysinfo.h | 1 +
tests/qemuxml2argvdata/qemuxml2argv-smbios.args | 2 +-
tests/qemuxml2argvdata/qemuxml2argv-smbios.xml | 2 +
7 files changed, 35 insertions(+), 13 deletions(-)