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