xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: [OSSTEST PATCH 3/5] cr-ensure-disk-space: Break out check_space
Date: Wed, 20 Jul 2016 14:19:09 +0100	[thread overview]
Message-ID: <1469020751-12413-3-git-send-email-ian.jackson@eu.citrix.com> (raw)
In-Reply-To: <1469020751-12413-1-git-send-email-ian.jackson@eu.citrix.com>

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 | 33 +++++++++++++++++----------------
 1 file changed, 17 insertions(+), 16 deletions(-)

diff --git a/cr-ensure-disk-space b/cr-ensure-disk-space
index a1f838f..63e92f4 100755
--- a/cr-ensure-disk-space
+++ b/cr-ensure-disk-space
@@ -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();
     }
 });
 
-- 
2.1.4


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

  parent reply	other threads:[~2016-07-20 13:19 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-07-20 13:19 [OSSTEST PATCH 1/5] mfi-common: Break out set_hostos_runvars Ian Jackson
2016-07-20 13:19 ` [OSSTEST PATCH 2/5] mfi-common: Do not set di_version runvar to empty string in build jobs Ian Jackson
2016-07-20 13:19 ` Ian Jackson [this message]
2016-07-20 13:19 ` [OSSTEST PATCH 4/5] cr-ensure-disk-space: Run check_space before taking lock Ian Jackson
2016-07-20 13:19 ` [OSSTEST PATCH 5/5] mg-list-all-branches: Do not match ${BRANCHES+= ... } Ian Jackson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1469020751-12413-3-git-send-email-ian.jackson@eu.citrix.com \
    --to=ian.jackson@eu.citrix.com \
    --cc=xen-devel@lists.xenproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).