drbd: improve workaround for set_drbdsetup_props

This commit is contained in:
Dietmar Maurer
2015-06-18 06:21:38 +02:00
parent 7ab6adc02a
commit d1e7ac11de

View File

@ -188,7 +188,18 @@ sub alloc_image {
($rc, $res) = $hdl->auto_deploy($name, $redundancy, 0, 0);
check_drbd_rc($rc->[0]);
sleep(5); # else we get split brain?!
# hack: this is required to avoid bugs with set_drbdsetup_props(),
# which can result in a split brain if we do not wait.
# Note: wait until all volumes have cstate:deploy
my $max_wait = 15;
for (my $i = 0; $i < $max_wait; $i++) {
($rc, $res) = $hdl->list_assignments([], [$name], 0, { "cstate:deploy" => "true" }, []);
check_drbd_rc($rc->[0]);
my $len = scalar(@$res);
last if $len == $redundancy;
sleep(1);
}
sleep(1); # another sleep - it does not work without -no idea why?
($rc, $res) = $hdl->set_drbdsetup_props(
{