On Mon, Sep 25, 2023 at 07:18:05PM +0530, Chandan Babu R wrote: > The regular expression used by _scratch_mkfs_geom() to match mkfs.xfs' block > size argument interprets the character 'b' as optional. It should actually > interpret whitespace as optional. > > This causes generic/223 to fail when testing an XFS filesystem which uses an > external log device along with the -lsize option. In this case, the original > value of -lsize is replaced with the value of $blocksize. > > _scratch_mkfs_sized() also uses the same incorrect regex. > > Signed-off-by: Chandan Babu R <chandanbabu@xxxxxxxxxx> Heh. :( Reviewed-by: Darrick J. Wong <djwong@xxxxxxxxxx> --D > --- > common/rc | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/common/rc b/common/rc > index 5c4429ed..991a5731 100644 > --- a/common/rc > +++ b/common/rc > @@ -971,7 +971,7 @@ _scratch_mkfs_sized() > case $FSTYP in > xfs) > # don't override MKFS_OPTIONS that set a block size. > - echo $MKFS_OPTIONS |grep -E -q "b?size=" > + echo $MKFS_OPTIONS |grep -E -q "b\s*size=" > if [ $? -eq 0 ]; then > _scratch_mkfs_xfs -d size=$fssize $rt_ops > else > @@ -1063,8 +1063,8 @@ _scratch_mkfs_geom() > > case $FSTYP in > xfs) > - if echo "$MKFS_OPTIONS" | grep -E -q "b?size="; then > - MKFS_OPTIONS=$(echo "$MKFS_OPTIONS" | sed -r "s/(b?size=)[0-9]+k?/\1$blocksize/") > + if echo "$MKFS_OPTIONS" | grep -E -q "b\s*size="; then > + MKFS_OPTIONS=$(echo "$MKFS_OPTIONS" | sed -r "s/(b\s*size=)[0-9]+k?/\1$blocksize/") > else > MKFS_OPTIONS+=" -b size=$blocksize" > fi > -- > 2.39.1 >