Re: [PATCH 5/6] generic/775: Fix an infinite loop due to variable name clash
"Darrick J. Wong" <[email protected]>
| Newsgroups | org.kernel.vger.fstests |
|---|---|
| Message-ID | <20260410165121.GS6212@frogsfrogsfrogs> |
On Fri, Apr 10, 2026 at 12:06:05PM +0530, Ojaswin Mujoo wrote: > 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]> Looks good, Reviewed-by: "Darrick J. Wong" <[email protected]> --D > --- > 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 > >