On 11/02/2017 02:22 PM, Dominik Csapak wrote: > after finishing the code in cfs_lock, we want to release the lock only > when we got it before, so we need to check the correct lock > > Signed-off-by: Dominik Csapak <d.csa...@proxmox.com> > --- > note: better would be a different approach than parsing the > error message, because this was missed for quite some time
Patch 1 and 2 look good, but I agree on your note here. I'll send a patch proposal which mirrors more the locking mechanisms of the HA manager, which uses a $got_lock variable to track the lock state instead of the error checking. Much thanks for investigating and finding this issue! > data/PVE/Cluster.pm | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/data/PVE/Cluster.pm b/data/PVE/Cluster.pm > index 70ce250..26523f1 100644 > --- a/data/PVE/Cluster.pm > +++ b/data/PVE/Cluster.pm > @@ -915,8 +915,9 @@ my $cfs_lock = sub { > $err = "$msg: no quorum!\n"; > } > > - if (!$err || $err !~ /^got lock timeout -/) { > - rmdir $filename; # cfs unlock > + if (!$err || $err ne "got lock request timeout\n") { > + # if we did get the lock, we unlock it > + rmdir $filename; > } > > if ($err) { > _______________________________________________ pve-devel mailing list pve-devel@pve.proxmox.com https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel