From bb7d3fbfe14c81c5bd4c0132ce4e300b887f8e76 Mon Sep 17 00:00:00 2001 From: karthik-us Date: Fri, 3 Aug 2018 16:37:00 +0530 Subject: cluster/afr: Fix bug-1586020-mark-dirty-for-entry-txn-on-quorum-failure.t Problem: In line #13 of the test case, it checks whether the file is present on first 2 bricks or not. If it is not present on even one of the bricks it will break the loop and checks for the dirty marking on the parent on the 3rd brick and checks for file not present on the 1st and 2nd bricks. The below scenario can happen in this case: - File gets created on 1st and 3rd bricks - In line #13 it sees file is not present on both 1st & 2nd bricks and breaks the loop - In line #51 test fails because the file will be present on the 1st brick - In line #53 test will fail because the file creation was not failed on quorum bricks and dirty marking will not be there on the parent on 3rd brick Fix: Don't break from the loop if file is present on either brick 1 or brick 2. Change-Id: I918068165e4b9124c1de86cfb373801b5b432bd9 fixes: bz#1612054 Signed-off-by: karthik-us --- .../replicate/bug-1586020-mark-dirty-for-entry-txn-on-quorum-failure.t | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'tests') diff --git a/tests/bugs/replicate/bug-1586020-mark-dirty-for-entry-txn-on-quorum-failure.t b/tests/bugs/replicate/bug-1586020-mark-dirty-for-entry-txn-on-quorum-failure.t index baf58bbf2a0..26f90497d6f 100644 --- a/tests/bugs/replicate/bug-1586020-mark-dirty-for-entry-txn-on-quorum-failure.t +++ b/tests/bugs/replicate/bug-1586020-mark-dirty-for-entry-txn-on-quorum-failure.t @@ -10,7 +10,7 @@ function create_files { while (true) do dd if=/dev/zero of=$M0/file$i bs=1M count=10 - if [ -e $B0/${V0}0/file$i ] && [ -e $B0/${V0}1/file$i ]; then + if [ -e $B0/${V0}0/file$i ] || [ -e $B0/${V0}1/file$i ]; then ((i++)) else break -- cgit