From 63840ffaba280de4e2fadee98b88f73b54ee965c Mon Sep 17 00:00:00 2001 From: Kefu Chai Date: Mon, 12 Jun 2017 18:33:27 +0800 Subject: [PATCH] qa: timeout if flush_pg_stats() takes too long a "timeout" which defaults to 300 seconds is added to flush_pg_stats() Signed-off-by: Kefu Chai --- qa/workunits/ceph-helpers.sh | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/qa/workunits/ceph-helpers.sh b/qa/workunits/ceph-helpers.sh index fe2b9d2232c85..2e9a5d47d1d80 100755 --- a/qa/workunits/ceph-helpers.sh +++ b/qa/workunits/ceph-helpers.sh @@ -1638,18 +1638,24 @@ function test_wait_background() { function flush_pg_stats() { + local timeout=${1:-$TIMEOUT} + ids=`ceph osd ls` seqs='' for osd in $ids; do seq=`ceph tell osd.$osd flush_pg_stats` seqs="$seqs $osd-$seq" done + for s in $seqs; do osd=`echo $s | cut -d - -f 1` seq=`echo $s | cut -d - -f 2` echo "waiting osd.$osd seq $seq" while test $(ceph osd last-stat-seq $osd) -lt $seq; do sleep 1 + if [ $((timeout--)) -eq 0 ]; then + return 1 + fi done done } -- 2.39.5