logs_select $cfgbase or exit 0;
-open LOCK, "> $c{GlobalLockDir}/publish-lock" or die $!;
+sub check_space () {
+ open P, "-|", onloghost "df --block-size=1M -P $logdir" or die $!;
+ $_= <P>;
+ m/^filesystem/i or die "$_ ?";
+ $_= <P>;
+ m,^\S+\s+\d+\s+\d+\s+(\d+)\s+, or die "$_ ?";
+ $!=0; $?=0; close P or die "$! $?";
+ my $space= $1;
+ printf "space: %8d, wanted: %8d ", $space, logcfg('MinSpaceMby');
+ return $space >= logcfg('MinSpaceMby');
+}
+
+my $lock = "$c{GlobalLockDir}/publish-lock";
+open LOCK, "> $lock" or die "$lock $!";
flock LOCK, LOCK_EX or die $!;
$|=1;
our @flights;
our %latestref;
-sub iteration_continue () {
- open P, "-|", onloghost "df --block-size=1M -P $logdir" or die $!;
- $_= <P>;
- m/^filesystem/i or die "$_ ?";
- $_= <P>;
- m,^\S+\s+\d+\s+\d+\s+(\d+)\s+, or die "$_ ?";
- $!=0; $?=0; close P or die "$! $?";
- my $space= $1;
- printf "space: %8d, wanted: %8d ", $space, logcfg('MinSpaceMby');
- return 0 if $space >= logcfg('MinSpaceMby');
-
+sub iteration_proceed () {
if (!@flights) {
%latestref = ();
open P, "-|", onloghost "ls -1 $logdir" or die $!;
END
printf "done.\n";
-
- return 1;
}
db_retry($dbh_tests,[], sub {
@flights = ();
for (;;) {
- iteration_continue()
- or last;
+ last if check_space();
+ iteration_continue();
}
});