diff mbox series

_scratch_mkfs_geom(): Filter out 'k' suffix from fs block size

Message ID 20210209161252.17901-1-chandanrlinux@gmail.com (mailing list archive)
State New, archived
Headers show
Series _scratch_mkfs_geom(): Filter out 'k' suffix from fs block size | expand

Commit Message

Chandan Babu R Feb. 9, 2021, 4:12 p.m. UTC
If the original value of $MKFS_OPTIONS contained a block size value having 'k'
as a suffix (e.g. -b size=4k), then the newly constructed value of
$MKFS_OPTIONS will have 'k' suffixed to the value of $blocksize.  $blocksize
itself is specified in units of bytes. Hence having 'k' suffixed to this value
will result in an incorrect block size.

This commit fixes the bug by conditionally filtering out the 'k' suffix from
block size option present in the original value of $MKFS_OPTIONS.

Signed-off-by: Chandan Babu R <chandanrlinux@gmail.com>
---
 common/rc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Darrick J. Wong Feb. 9, 2021, 4:36 p.m. UTC | #1
On Tue, Feb 09, 2021 at 09:42:52PM +0530, Chandan Babu R wrote:
> If the original value of $MKFS_OPTIONS contained a block size value having 'k'
> as a suffix (e.g. -b size=4k), then the newly constructed value of
> $MKFS_OPTIONS will have 'k' suffixed to the value of $blocksize.  $blocksize
> itself is specified in units of bytes. Hence having 'k' suffixed to this value
> will result in an incorrect block size.
> 
> This commit fixes the bug by conditionally filtering out the 'k' suffix from
> block size option present in the original value of $MKFS_OPTIONS.
> 
> Signed-off-by: Chandan Babu R <chandanrlinux@gmail.com>
> ---
>  common/rc | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/common/rc b/common/rc
> index 649b1cfd..0ec7fe1a 100644
> --- a/common/rc
> +++ b/common/rc
> @@ -1062,7 +1062,7 @@ _scratch_mkfs_geom()
>      case $FSTYP in
>      xfs)
>  	if echo "$MKFS_OPTIONS" | egrep -q "b?size="; then
> -		MKFS_OPTIONS=$(echo "$MKFS_OPTIONS" | sed -r "s/(b?size=)[0-9]+/\1$blocksize/")
> +		MKFS_OPTIONS=$(echo "$MKFS_OPTIONS" | sed -r "s/(b?size=)[0-9]+k?/\1$blocksize/")

At first I wondered about the other suffixes but then realized that 's'
doesn't actually work, so...

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

--D

>  	else
>  		MKFS_OPTIONS+=" -b size=$blocksize"
>  	fi
> -- 
> 2.29.2
>
diff mbox series

Patch

diff --git a/common/rc b/common/rc
index 649b1cfd..0ec7fe1a 100644
--- a/common/rc
+++ b/common/rc
@@ -1062,7 +1062,7 @@  _scratch_mkfs_geom()
     case $FSTYP in
     xfs)
 	if echo "$MKFS_OPTIONS" | egrep -q "b?size="; then
-		MKFS_OPTIONS=$(echo "$MKFS_OPTIONS" | sed -r "s/(b?size=)[0-9]+/\1$blocksize/")
+		MKFS_OPTIONS=$(echo "$MKFS_OPTIONS" | sed -r "s/(b?size=)[0-9]+k?/\1$blocksize/")
 	else
 		MKFS_OPTIONS+=" -b size=$blocksize"
 	fi