On 4/30/20 9:35 AM, Fabian Grünbichler wrote: > by avoiding auto-vivification of $self->{online_local_volumes} via > iteration. most code paths don't care whether it's undef or a reference > to an empty list, but this caused the (already) fixed bug of calling > nbd_stop without having started an NBD server in the first place. > > Signed-off-by: Fabian Grünbichler <f.gruenbich...@proxmox.com> > --- > This technically makes the previous NBD stop related patches no longer > needed - but let's keep them until we clean up the whole volume handling > properly to avoid falling into this trap again. > > PVE/QemuMigrate.pm | 12 ++++++++---- > 1 file changed, 8 insertions(+), 4 deletions(-) > > diff --git a/PVE/QemuMigrate.pm b/PVE/QemuMigrate.pm > index 7644922..d9b104c 100644 > --- a/PVE/QemuMigrate.pm > +++ b/PVE/QemuMigrate.pm > @@ -713,10 +713,14 @@ sub phase2 { > $input .= "nbd_protocol_version: $nbd_protocol_version\n"; > > my $number_of_online_replicated_volumes = 0; > - foreach my $volid (@{$self->{online_local_volumes}}) { > - next if !$self->{replicated_volumes}->{$volid}; > - $number_of_online_replicated_volumes++; > - $input .= "replicated_volume: $volid\n"; > + > + # prevent auto-vivification > + if ($self->{online_local_volumes}) { > + foreach my $volid (@{$self->{online_local_volumes}}) { > + next if !$self->{replicated_volumes}->{$volid}; > + $number_of_online_replicated_volumes++; > + $input .= "replicated_volume: $volid\n"; > + } > } > > my $target_replicated_volumes = {}; >
applied _______________________________________________ pve-devel mailing list pve-devel@pve.proxmox.com https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel