On Sun, Feb 07, 2021 at 01:42:33PM +0800, Han Han wrote: > On Fri, Feb 5, 2021 at 8:08 PM Pavel Hrdina <phrdina@xxxxxxxxxx> wrote: > > > All of these options are actually supported by vhostuser disk so > > we should allow them to be usable. > > > > Signed-off-by: Pavel Hrdina <phrdina@xxxxxxxxxx> > > --- > > src/conf/domain_validate.c | 20 ------------------- > > .../disk-vhostuser.x86_64-latest.args | 4 ++-- > > tests/qemuxml2argvdata/disk-vhostuser.xml | 2 +- > > .../disk-vhostuser.x86_64-latest.xml | 2 +- > > 4 files changed, 4 insertions(+), 24 deletions(-) > > > > diff --git a/src/conf/domain_validate.c b/src/conf/domain_validate.c > > index 222a9386f6..6b3e892332 100644 > > --- a/src/conf/domain_validate.c > > +++ b/src/conf/domain_validate.c > > @@ -322,26 +322,6 @@ virDomainDiskVhostUserValidate(const virDomainDiskDef > > *disk) > > > > /* Unsupported driver elements */ > > > > - if (disk->virtio) { > > - if (disk->virtio->iommu != VIR_TRISTATE_SWITCH_ABSENT) { > > - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", > > - _("iommu is not supported with vhostuser > > disk")); > > - return -1; > > - } > > - > > - if (disk->virtio->ats != VIR_TRISTATE_SWITCH_ABSENT) { > > - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", > > - _("ats is not supported with vhostuser disk")); > > - return -1; > > - } > > - > > - if (disk->virtio->packed != VIR_TRISTATE_SWITCH_ABSENT) { > > - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", > > - _("packed is not supported with vhostuser > > disk")); > > - return -1; > > - } > > - } > > - > > > Tested on qemu-5.2.0-5.fc34.1.x86_64 libvirt v7.0.0-337-ga58edc602e > VM could be start with the virtio properties of vhostuser-blk: > <disk type="vhostuser" device="disk" model="virtio-non-transitional" > snapshot="no"> > <driver name="qemu" type="raw" iommu="on" ats="on" packed="on"/> > <source type="unix" path="/tmp/vhost-user-blk0.sock"> > <reconnect enabled="yes" timeout="10"/> > </source> > <target dev="vdb" bus="virtio"/> > <address type="pci" domain="0x0000" bus="0x00" slot="0x0b" > function="0x0"/> > </disk> > > Note that the model="virtio-non-transitional" should be set otherwise it > will report an error: > 2021-02-07T05:33:25.737469Z qemu-system-x86_64: -device > vhost-user-blk-pci,iommu_platform=on,ats=on,packed=on,bus=pci.0,addr=0xb,chardev=chr-vu-virtio-disk1,id=virtio-disk1: > VIRTIO_F_IOMMU_P > LATFORM was supported by neither legacy nor transitional device This is not exclusive to vhostuser disk. The same happens with disk type='file' and my guess is that it will happen to other virtio/vhost-user devices. This is a separate issue that would be probably nice to fix but I guess it's not critical because QEMU gives reasonable error message. Thanks for testing. Pavel
Attachment:
signature.asc
Description: PGP signature