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> --- 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