On 9/2/19 2:29 PM, Aaron Lauterer wrote: > > > On 9/2/19 1:57 PM, Thomas Lamprecht wrote: >> On 8/30/19 9:40 AM, Aaron Lauterer wrote: >>> Signed-off-by: Aaron Lauterer <a.laute...@proxmox.com> >>> --- >>> PVE/QemuServer/USB.pm | 7 +++++-- >>> 1 file changed, 5 insertions(+), 2 deletions(-) >>> >>> diff --git a/PVE/QemuServer/USB.pm b/PVE/QemuServer/USB.pm >>> index a2097b9..05c78cf 100644 >>> --- a/PVE/QemuServer/USB.pm >>> +++ b/PVE/QemuServer/USB.pm >>> @@ -87,9 +87,12 @@ sub get_usb_devices { >>> my $hostdevice = parse_usb_device($d->{host}); >>> $hostdevice->{usb3} = $d->{usb3}; >>> if (defined($hostdevice->{spice}) && $hostdevice->{spice}) { >>> - # usb redir support for spice, currently no usb3 >>> + # usb redir support for spice >>> + my $bus = 'ehci'; >>> + $bus = 'xhci' if $hostdevice->{usb3}; >>> + >>> push @$devices, '-chardev', >>> "spicevmc,id=usbredirchardev$i,name=usbredir"; >>> - push @$devices, '-device', >>> "usb-redir,chardev=usbredirchardev$i,id=usbredirdev$i,bus=ehci.0"; >>> + push @$devices, '-device', >>> "usb-redir,chardev=usbredirchardev$i,id=usbredirdev$i,bus=$bus.0"; >>> } else { >>> push @$devices, '-device', print_usbdevice_full($conf, "usb$i", >>> $hostdevice); >>> } >>> >> >> what the commit message does not mentions: >> >> One could have set an usb3 spice variant already, e.g., with: >> # qm set 1000 --usb2 spice,usb3=1 >> >> and started it without issues, as we just ignored it. >> Now, with your patch it will suddenly change the backing bus to >> xhci, which (I assume) kills live migrations or restorations of >> snapshot with RAM. >> >> So this would need to be guarded somehow, e.g., with a qemu >> machine version check. >> > > As described in the cover letter this is only true if other USB2 devices are > added. Because only then will there be a "ehci.0" bus.
Did not saw that, and nobody would when it had been applied as is if they looked at the Commit in the future, keep such information in the commit itself (too), if you know that already. > > Otherwise the start of the VM will fail with this error: "Bus 'ehci.0' not > found". I had that I my VM were I tested it, so it worked instantly and seems not to unrealistically. Further, a "it's only happens" is not a full excuse, just because the chance for such a setup is rather low we do never actively want to break forward live migration, that not good. > > I did not think about the snapshot restore situation. I will integrate a qemu > machine version check to handle it. _______________________________________________ pve-devel mailing list pve-devel@pve.proxmox.com https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel