]> git.proxmox.com Git - qemu-server.git/commitdiff
vmconfig_hotplug_pending: correctly skip values
authorDietmar Maurer <dietmar@proxmox.com>
Mon, 24 Nov 2014 09:33:51 +0000 (10:33 +0100)
committerDietmar Maurer <dietmar@proxmox.com>
Wed, 7 Jan 2015 05:43:05 +0000 (06:43 +0100)
Do not use $skip variable (simply raise an exception)

Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
PVE/QemuServer.pm

index 7519e7e41668e61493a7fe1205c5e3eee84ce757..f914db5484ca82878daf70a1d9706f2cead43b2e 100644 (file)
@@ -3630,26 +3630,24 @@ sub vmconfig_hotplug_pending {
     my @delete = PVE::Tools::split_list($conf->{pending}->{delete});
     foreach my $opt (@delete) {
        next if $selection && !$selection->{$opt};
-       my $skip;
        eval {
            if ($opt eq 'tablet') {
-               return undef if !$hotplug;
+               die "skip\n" if !$hotplug;
                if ($defaults->{tablet}) {
                    vm_deviceplug($storecfg, $conf, $vmid, $opt);
                } else {
                    vm_deviceunplug($vmid, $conf, $opt);
                }
            } elsif ($opt eq 'cores') {
-               return undef if !$hotplug;
+               die "skip\n" if !$hotplug;
                qemu_cpu_hotplug($vmid, $conf, 1);
            } else {
-               $skip = 1; # skip non-hot-pluggable options
-               return undef;
+               die "skip\n";
            }
        };
        if (my $err = $@) {
-           &$add_error($opt, $err);
-       } elsif (!$skip) {
+           &$add_error($opt, $err) if $err ne "skip\n";
+       } else {
            # save new config if hotplug was successful
            delete $conf->{$opt};
            vmconfig_undelete_pending_option($conf, $opt);
@@ -3661,31 +3659,29 @@ sub vmconfig_hotplug_pending {
     foreach my $opt (keys %{$conf->{pending}}) {
        next if $selection && !$selection->{$opt};
        my $value = $conf->{pending}->{$opt};
-       my $skip;
        eval {
            if ($opt eq 'tablet') {
-               return undef if !$hotplug;
+               die "skip\n" if !$hotplug;
                if ($value == 1) {
                    vm_deviceplug($storecfg, $conf, $vmid, $opt);
                } elsif ($value == 0) {
                    vm_deviceunplug($vmid, $conf, $opt);
                }
            } elsif ($opt eq 'cores') {
-               return undef if !$hotplug;
+               die "skip\n" if !$hotplug;
                qemu_cpu_hotplug($vmid, $conf, $value);
            } elsif ($opt eq 'balloon') {
-               return undef if !(defined($conf->{shares}) && ($conf->{shares} == 0));
+               die "skip\n" if !(defined($conf->{shares}) && ($conf->{shares} == 0));
                # allow manual ballooning if shares is set to zero
                my $balloon = $conf->{pending}->{balloon} || $conf->{memory} || $defaults->{memory};
                vm_mon_cmd($vmid, "balloon", value => $balloon*1024*1024);
            } else {
-               $skip = 1; # skip non-hot-pluggable options
-               return undef;
+               die "skip\n";  # skip non-hot-pluggable options
            }
        };
        if (my $err = $@) {
-           &$add_error($opt, $err);
-       } elsif (!$skip) {
+           &$add_error($opt, $err) if $err ne "skip\n";
+       } else {
            # save new config if hotplug was successful
            $conf->{$opt} = $value;
            delete $conf->{pending}->{$opt};