]> xenbits.xensource.com Git - people/liuw/osstest.git/commitdiff
cr-ensure-disk-space: Break out check_space
authorIan Jackson <ian.jackson@eu.citrix.com>
Tue, 19 Jul 2016 16:22:31 +0000 (17:22 +0100)
committerIan Jackson <Ian.Jackson@eu.citrix.com>
Tue, 19 Jul 2016 16:22:31 +0000 (17:22 +0100)
Break out the df check into its own subroutine.  iteration_proceed now
becomes iteration_continue and doesn't return a booleanish.

No functional change.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
cr-ensure-disk-space

index a1f838f51f3b47b11456cf081085973353b7d5ea..63e92f40a244254477ba4d47fa5b02965db3cd0b 100755 (executable)
@@ -49,7 +49,20 @@ csreadconfig();
 
 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;
@@ -67,17 +80,7 @@ END
 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 $!;
@@ -141,15 +144,13 @@ sub iteration_continue () {
 END
 
     printf "done.\n";
-
-    return 1;
 }
 
 db_retry($dbh_tests,[], sub {
     @flights = ();
     for (;;) {
-       iteration_continue()
-           or last;
+       last if check_space();
+       iteration_continue();
     }
 });