----- Original Message ----- > On 06/19/14 13:05, Jincheng Miao wrote: > > hostdev has mode "capabilities" for LXC, from formatdomain.html: > > " > > Block / character devices from the host can be passed through to > > the guest using the hostdev element. > > This is only possible with container based virtualization. > > since after 1.0.1 for LXC > > " > > So forbid capabilities mode hostdev if domain is not LXC. > > > > The related bug is: > > https://bugzilla.redhat.com/show_bug.cgi?id=1111044 > > > > Signed-off-by: Jincheng Miao <jmiao@xxxxxxxxxx> > > --- > > src/qemu/qemu_command.c | 8 ++++++++ > > 1 file changed, 8 insertions(+) > > > > diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c > > index 2caee66..338235a 100644 > > --- a/src/qemu/qemu_command.c > > +++ b/src/qemu/qemu_command.c > > @@ -8907,6 +8907,14 @@ qemuBuildCommandLine(virConnectPtr conn, > > virDomainHostdevDefPtr hostdev = def->hostdevs[i]; > > char *devstr; > > > > + /* forbid capabilities mode hostdev in this type of hypervisor */ > > + if (hostdev->mode == VIR_DOMAIN_HOSTDEV_MODE_CAPABILITIES) { > > This apparently doesn't depend on the actual qemu binary nor the state > of the system. > > For such checks we have the domain XML post parse callbacks which point > out the error at define time (as it's actually invalid XML from the > point of view of the qemu driver) and not when the user attempts to > start a VM Yes, I think I can find that callback function .devicesPostParseCallback(). and the function implements are: libxlDomainDeviceDefPostParse(), virLXCDomainDeviceDefPostParse(), openvzDomainDeviceDefPostParse(), qemuDomainDeviceDefPostParse(), umlDomainDeviceDefPostParse(), xenDomainDeviceDefPostParse(), xenapiDomainDeviceDefPostParse() I think I should patch them except LXC. > > > + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, > > + _("Unsupported capabilities mode hostdev in > > %s"), > > + virDomainVirtTypeToString(def->virtType)); > > + goto error; > > + } > > + > > if (hostdev->info->bootIndex) { > > if (hostdev->mode != VIR_DOMAIN_HOSTDEV_MODE_SUBSYS || > > (hostdev->source.subsys.type != > > VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI && > > > > Peter > > -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list