FS/XFS testing framework
 help / color / mirror / Atom feed
* [PATCH] _scratch_mkfs_geom: Fix regex used for matching block size option
@ 2023-09-25 13:48 Chandan Babu R
  2023-09-25 14:55 ` Darrick J. Wong
  0 siblings, 1 reply; 2+ messages in thread
From: Chandan Babu R @ 2023-09-25 13:48 UTC (permalink / raw)
  To: fstests; +Cc: Chandan Babu R, zlang

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


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] _scratch_mkfs_geom: Fix regex used for matching block size option
  2023-09-25 13:48 [PATCH] _scratch_mkfs_geom: Fix regex used for matching block size option Chandan Babu R
@ 2023-09-25 14:55 ` Darrick J. Wong
  0 siblings, 0 replies; 2+ messages in thread
From: Darrick J. Wong @ 2023-09-25 14:55 UTC (permalink / raw)
  To: Chandan Babu R; +Cc: fstests, zlang

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@kernel.org>

Heh. :(
Reviewed-by: Darrick J. Wong <djwong@kernel.org>

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

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2023-09-25 14:55 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-09-25 13:48 [PATCH] _scratch_mkfs_geom: Fix regex used for matching block size option Chandan Babu R
2023-09-25 14:55 ` Darrick J. Wong

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox