Am 30.06.25 um 12:15 schrieb Fabian Grünbichler: > On June 27, 2025 5:57 pm, Fiona Ebner wrote: >> @@ -4050,28 +4069,63 @@ sub qemu_iothread_del { >> sub qemu_driveadd { >> my ($storecfg, $vmid, $device) = @_; >> >> - my $drive = print_drive_commandline_full($storecfg, $vmid, $device, >> undef); >> - $drive =~ s/\\/\\\\/g; >> - my $ret = PVE::QemuServer::Monitor::hmp_cmd($vmid, "drive_add auto >> \"$drive\"", 60); >> + my $machine_type = >> PVE::QemuServer::Machine::get_current_qemu_machine($vmid); >> >> - # If the command succeeds qemu prints: "OK" >> - return 1 if $ret =~ m/OK/s; >> + # for the switch to -blockdev >> + if >> (PVE::QemuServer::Machine::is_machine_version_at_least($machine_type, 10, >> 0)) { > > isn't this part here basically Blockdev::attach? > >> + my $throttle_group = >> PVE::QemuServer::Blockdev::generate_throttle_group($device); >> + mon_cmd($vmid, 'object-add', %$throttle_group); >> >> - die "adding drive failed: $ret\n"; >> + eval { >> + my $blockdev = >> + >> PVE::QemuServer::Blockdev::generate_drive_blockdev($storecfg, $device, {}); >> + mon_cmd($vmid, 'blockdev-add', %$blockdev); >> + }; >> + if (my $err = $@) { >> + my $drive_id = PVE::QemuServer::Drive::get_drive_id($device); >> + eval { mon_cmd($vmid, 'object-del', id => >> "throttle-drive-$drive_id"); }; >> + warn $@ if $@; >> + die $err; >> + } >> + >> + return 1; >> + } else { >> + my $drive = print_drive_commandline_full($storecfg, $vmid, $device, >> undef); >> + $drive =~ s/\\/\\\\/g; >> + my $ret = PVE::QemuServer::Monitor::hmp_cmd($vmid, "drive_add auto >> \"$drive\"", 60); >> + >> + # If the command succeeds qemu prints: "OK" >> + return 1 if $ret =~ m/OK/s; >> + >> + die "adding drive failed: $ret\n"; >> + } >> } >> >> sub qemu_drivedel { >> my ($vmid, $deviceid) = @_; >> >> - my $ret = PVE::QemuServer::Monitor::hmp_cmd($vmid, "drive_del >> drive-$deviceid", 10 * 60); >> - $ret =~ s/^\s+//; >> + my $machine_type = >> PVE::QemuServer::Machine::get_current_qemu_machine($vmid); >> >> - return 1 if $ret eq ""; >> + # for the switch to -blockdev >> + if >> (PVE::QemuServer::Machine::is_machine_version_at_least($machine_type, 10, >> 0)) { > > and this here Blockdev::detach?
Yes, sorry! I forgot to switch to using the helpers here. _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel