[PATCH 5/6] generic/775: Fix an infinite loop due to variable name clash
Ojaswin Mujoo <[email protected]>
| Newsgroups | org.kernel.vger.fstests |
|---|---|
| Message-ID | <9c8783dc648ef861f81cba8d5d692932b795e262.1775802601.git.ojaswin@linux.ibm.com> |
We use i as the iteration variable in the main test loop as well as some internal loops. Due to this clash, $i variable of main test loops was getting modified by the following loop in prep_mixed_mapping(). for ((i=0; i<num_blocks; i++)); do If num_blocks is less than 10 (example ext4 with blocksize 4k and cluster size 8k) i would always be set as 3 and the main loop would never exit. Use local variable to fix this and while we are at it, rename it for clarity. Reported-by: Disha Goel <[email protected]> Signed-off-by: Ojaswin Mujoo <[email protected]> --- tests/generic/775 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/generic/775 b/tests/generic/775 index 2a4287bb..6dc005a0 100755 --- a/tests/generic/775 +++ b/tests/generic/775 @@ -41,7 +41,8 @@ prep_mixed_mapping() { local operations=("W" "H" "U") local num_blocks=$((awu_max / blksz)) - for ((i=0; i<num_blocks; i++)); do + local blkno + for ((blkno=0; blkno<num_blocks; blkno++)); do local index=$((RANDOM % ${#operations[@]})) local map="${operations[$index]}" local mapping="${mapping}${map}" -- 2.53.0