i just noticed, it seems i forgot to add some hunks/stashes?
usb does not work properly

there is one qemu patch missing
and two would have to be adapted

i can send a v2 for the whole series, only for qemu-server
or only for the patches, depending on what is preferred

the whole diff is rather small:

----8<----
diff --git a/PVE/API2/Qemu.pm b/PVE/API2/Qemu.pm
index 063b356..bb911b9 100644
--- a/PVE/API2/Qemu.pm
+++ b/PVE/API2/Qemu.pm
@@ -1346,7 +1346,7 @@ my $update_vm_api  = sub {
PVE::QemuConfig->add_to_pending_delete($conf, $opt, $force);
                    PVE::QemuConfig->write_config($vmid, $conf);
                } elsif ($opt =~ m/^usb\d+$/) {
- my $device = PVE::JSONSchema::parse_property_string('pve-qm-usb-device', $val); + my $device = PVE::JSONSchema::parse_property_string('pve-qm-usb', $val);
                    my $host = parse_usb_device($device->{host});
                    if ($host->{spice}) {
$rpcenv->check_vm_perm($authuser, $vmid, undef, ['VM.Config.HWType']);
@@ -1404,7 +1404,7 @@ my $update_vm_api  = sub {
                    my $olddevice;
                    my $oldhost;
                    if (defined($conf->{$opt})) {
- $olddevice = PVE::JSONSchema::parse_property_string('pve-qm-usb-device', $conf->{$opt}); + $olddevice = PVE::JSONSchema::parse_property_string('pve-qm-usb', $conf->{$opt});
                        $oldhost = parse_usb_device($olddevice->{host});
                    }
                    if (defined($oldhost)) {
@@ -1418,7 +1418,7 @@ my $update_vm_api  = sub {
                        }
                    }

- my $newdevice = PVE::JSONSchema::parse_property_string('pve-qm-usb-device', $param->{$opt}); + my $newdevice = PVE::JSONSchema::parse_property_string('pve-qm-usb', $param->{$opt});
                    my $newhost = parse_usb_device($newdevice->{host});

                    if ($newhost->{spice}) {
diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm
index 5edcb6a..ea824a1 100644
--- a/PVE/QemuServer.pm
+++ b/PVE/QemuServer.pm
@@ -1030,6 +1030,8 @@ EODESCR
     },
 };

+PVE::JSONSchema::register_format('pve-qm-usb', $usb_fmt);
+
 my $usbdesc = {
     optional => 1,
     type => 'string', format => $usb_fmt,
@@ -2438,9 +2440,10 @@ sub check_local_resources {
     foreach my $k (keys %$conf) {
        if ($k =~ m/^usb/) {
            my $entry = parse_property_string($usb_fmt, $conf->{$k});
-           next if $entry->{spice};
-           if (my $id = $entry->{mapped}) {
-               $add_not_allowed_nodes->($k, $id);
+           my $host = parse_usb_device($entry->{host});
+           next if $host->{spice};
+           if ($host->{mapped}) {
+               $add_not_allowed_nodes->($k, $entry->{host});
                push @$mapped_res, $k;
                next;
            }
---->8----


_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to