[pve-devel] [RFC pve-ha-manager 1/8] Hardware: remove unnecessary lock in get_node_info
Thomas Lamprecht
t.lamprecht at proxmox.com
Fri Dec 11 20:01:38 CET 2015
This lock is not needed asthe status gets written with
file_set_contents from PVE::Tools which is atomic (fuse bug does
not apply here) so we do not need to be scared that we read
inconsistent data.
This also prevents a deadlock if any function needs to know if the
simulated node is quorate in a locked context, like
sim_hardware_cmd is.
Signed-off-by: Thomas Lamprecht <t.lamprecht at proxmox.com>
---
src/PVE/HA/Sim/Hardware.pm | 10 ++--------
1 file changed, 2 insertions(+), 8 deletions(-)
diff --git a/src/PVE/HA/Sim/Hardware.pm b/src/PVE/HA/Sim/Hardware.pm
index a77668f..24ef68b 100644
--- a/src/PVE/HA/Sim/Hardware.pm
+++ b/src/PVE/HA/Sim/Hardware.pm
@@ -364,14 +364,8 @@ my $compute_node_info = sub {
sub get_node_info {
my ($self) = @_;
- my ($node_info, $quorate);
-
- my $code = sub {
- my $cstatus = $self->read_hardware_status_nolock();
- ($node_info, $quorate) = &$compute_node_info($self, $cstatus);
- };
-
- $self->global_lock($code);
+ my $cstatus = $self->read_hardware_status_nolock();
+ my ($node_info, $quorate) = &$compute_node_info($self, $cstatus);
return ($node_info, $quorate);
}
--
2.1.4
More information about the pve-devel
mailing list