instead of writing the config after every change, we can do it once for all the changes at the end to avoid redundant i/o. we also don't need to load_config after writing fastplug changes.
Signed-off-by: Oguz Bektas <o.bek...@proxmox.com> --- PVE/QemuServer.pm | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm index d92040b..3855f6e 100644 --- a/PVE/QemuServer.pm +++ b/PVE/QemuServer.pm @@ -4842,7 +4842,6 @@ sub vmconfig_hotplug_pending { if ($changes) { PVE::QemuConfig->write_config($vmid, $conf); - $conf = PVE::QemuConfig->load_config($vmid); # update/reload } my $hotplug_features = parse_hotplug_features(defined($conf->{hotplug}) ? $conf->{hotplug} : '1'); @@ -4903,11 +4902,8 @@ sub vmconfig_hotplug_pending { if (my $err = $@) { $add_hotplug_error->($opt, $err) if $err ne "skip\n"; } else { - # save new config if hotplug was successful delete $conf->{$opt}; PVE::QemuConfig->remove_from_pending_delete($conf, $opt); - PVE::QemuConfig->write_config($vmid, $conf); - $conf = PVE::QemuConfig->load_config($vmid); # update/reload } } @@ -4992,13 +4988,12 @@ sub vmconfig_hotplug_pending { if (my $err = $@) { $add_hotplug_error->($opt, $err) if $err ne "skip\n"; } else { - # save new config if hotplug was successful $conf->{$opt} = $value; delete $conf->{pending}->{$opt}; - PVE::QemuConfig->write_config($vmid, $conf); - $conf = PVE::QemuConfig->load_config($vmid); # update/reload } } + + PVE::QemuConfig->write_config($vmid, $conf); } sub try_deallocate_drive { -- 2.20.1 _______________________________________________ pve-devel mailing list pve-devel@pve.proxmox.com https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel