On 10/11/2017 09:36 AM, Wolfgang Bumiller wrote: > It can be useful to know whether we actually have an empty > vm list or whether the last cfs_update call simply failed. > Previously this only warned. > > This way we can avoid a nasty type of race condition. For > instance in pvesr where it's possible that the vm list query > fails while everything else worked (eg. if the pmxcfs was > just starting up, or died between the queries), in which > case it would assume there are no guests and the > purge-old-states step would clear out the entire local state > file. > --- > This will be used in PVE::ReplicationState::purge_old_states to verify > that it's not accidentally deleting valid states. > > data/PVE/Cluster.pm | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/data/PVE/Cluster.pm b/data/PVE/Cluster.pm > index 05f144f..3e27c52 100644 > --- a/data/PVE/Cluster.pm > +++ b/data/PVE/Cluster.pm > @@ -448,6 +448,7 @@ my $ipcc_get_cluster_log = sub { > my $ccache = {}; > > sub cfs_update { > + my ($fail) = @_; > eval { > my $res = &$ipcc_send_rec_json(1); > #warn "GOT1: " . Dumper($res); > @@ -469,6 +470,7 @@ sub cfs_update { > $vmlist = {}; > $clinfo = {}; > $ccache = {}; > + die $err if $fail; > warn $err; > } > > @@ -481,6 +483,7 @@ sub cfs_update { > $err = $@; > if ($err) { > $clinfo = {}; > + die $err if $fail; > warn $err; > } > > @@ -493,6 +496,7 @@ sub cfs_update { > $err = $@; > if ($err) { > $vmlist = {}; > + die $err if $fail; > warn $err; > } > } >
Reviewed-by: Thomas Lamprecht <t.lamprecht.org> The guest-common change looks also OK but is in code where I've done very little with... _______________________________________________ pve-devel mailing list pve-devel@pve.proxmox.com https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel