[pve-devel] [PATCH ha-manager 7/7] FenceConfig: assert that device priorities are unique
Thomas Lamprecht
t.lamprecht at proxmox.com
Thu Jul 14 14:41:53 CEST 2016
Each device priority must be unique to guarantee a deterministic
execution of the configured devices.
Else we cannot decide in which order we should write the devices to
the config file.
Signed-off-by: Thomas Lamprecht <t.lamprecht at proxmox.com>
---
src/PVE/HA/FenceConfig.pm | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/src/PVE/HA/FenceConfig.pm b/src/PVE/HA/FenceConfig.pm
index fef480c..5d898d5 100644
--- a/src/PVE/HA/FenceConfig.pm
+++ b/src/PVE/HA/FenceConfig.pm
@@ -90,9 +90,16 @@ sub write_config {
my $raw = '';
+ my $prev_priority = -1;
+
foreach my $dev_name (sort {$data->{$a}->{priority} <=> $data->{$b}->{priority}} keys %$data) {
my $d = $data->{$dev_name};
+ die "Device '$dev_name' reuses priority! Priorities must be unique\n"
+ if $prev_priority == $d->{priority};
+
+ $prev_priority = $d->{priority};
+
foreach my $sub_dev_nr (sort keys %{$d->{sub_devs}}) {
my $sub_dev = $d->{sub_devs}->{$sub_dev_nr};
my $dev_arg_str = PVE::Tools::cmd2string($sub_dev->{args});
--
2.1.4
More information about the pve-devel
mailing list