]> git.apps.os.sepia.ceph.com Git - xfstests-dev.git/commitdiff
_scratch_mkfs_geom: Fix regex used for matching block size option
authorChandan Babu R <chandanbabu@kernel.org>
Mon, 25 Sep 2023 13:48:05 +0000 (19:18 +0530)
committerZorro Lang <zlang@kernel.org>
Thu, 5 Oct 2023 14:38:17 +0000 (22:38 +0800)
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@kernel.org>
Reviewed-by: "Darrick J. Wong" <djwong@kernel.org>
Signed-off-by: Zorro Lang <zlang@kernel.org>
common/rc

index 5fd2d66a83b9a116d7a1bba0d227a8db8b06d204..95d397b05094e8f04b2037ef4e425658c4fa1f07 100644 (file)
--- a/common/rc
+++ b/common/rc
@@ -974,7 +974,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
@@ -1066,8 +1066,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