From 4df15a03770c571ad190674d694b3e029422aeab Mon Sep 17 00:00:00 2001 From: Oguz Bektas Date: Fri, 13 Dec 2019 12:41:51 +0100 Subject: [PATCH] hotplug_pending: remove redundant write/load config calls instead of writing the config after every change, we can do it once for all the changes in the end to avoid redundant i/o. we also don't need to load_config after writing fastplug changes. Signed-off-by: Oguz Bektas --- PVE/QemuServer.pm | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm index f1da3e3..2b68d81 100644 --- a/PVE/QemuServer.pm +++ b/PVE/QemuServer.pm @@ -4779,7 +4779,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'); @@ -4839,11 +4838,8 @@ sub vmconfig_hotplug_pending { if (my $err = $@) { &$add_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 } } @@ -4931,13 +4927,12 @@ sub vmconfig_hotplug_pending { if (my $err = $@) { &$add_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.39.2