[pve-devel] applied: [PATCH v2 qemu-server 1/3] hotplug_pending: remove redundant write/load config calls

Thomas Lamprecht t.lamprecht at proxmox.com
Fri Dec 20 11:03:50 CET 2019


Am 12/13/19 um 12:41 PM schrieb Oguz Bektas:
> 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 <o.bektas at proxmox.com>
> ---
>  PVE/QemuServer.pm | 9 ++-------
>  1 file changed, 2 insertions(+), 7 deletions(-)
> 
> diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm
> index 09a1559..9c89be5 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 {
> 

applied this one, thanks!




More information about the pve-devel mailing list