Note: "permalinks" may not be as permanent as we would like,
direct links of old sources may well be a few messages off.
I have still problems with diskless assignments. I create them with: ($rc, $res) = $hdl->assign($nodename, $volname, { diskless => 'true' }); which works, but I need to wait until the device is accessible. I currently do this with a clumsy hack using 'dd': # wait until device is acessitble my $print_warning = 1; my $max_wait_time = 20; for (my $i = 0;; $i++) { last if system("dd if=$path of=/dev/null bs=512 count=1 >/dev/null 2>&1") == 0; die "aborting wait - device '$path' still not readable\n" if $i > $max_wait_time; print "waiting for device '$path' to become ready...\n" if $print_warning; $print_warning = 0; sleep(1); } This works, but Philipp told me to do it by querying assignment status. So I tried this: # wait until device is acessible my $print_warning = 1; my $max_wait_time = 20; for (my $i = 0;; $i++) { # correct, but does not work? ($rc, $res) = $hdl->list_assignments([$nodename], [$volname], 0, { "cstate:deploy" => "true" }, []); check_drbd_res($rc); my $len = scalar(@$res); last if $len > 0; die "aborting wait - device '$path' still not readable\n" if $i > $max_wait_time; print "waiting for device '$path' to become ready...\n" if $print_warning; $print_warning = 0; sleep(1); } But it does not work. Seems I get cstate:deploy" => "true", but the device is not ready to use?