All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Darrick J. Wong" <djwong@kernel.org>
To: Zorro Lang <zlang@kernel.org>
Cc: fstests@vger.kernel.org, linux-xfs@vger.kernel.org
Subject: Re: [PATCH 2/2] xfs/157: do not drop necessary mkfs options
Date: Mon, 18 Nov 2024 14:26:14 -0800	[thread overview]
Message-ID: <20241118222614.GK9425@frogsfrogsfrogs> (raw)
In-Reply-To: <20241116190800.1870975-3-zlang@kernel.org>

On Sun, Nov 17, 2024 at 03:08:00AM +0800, Zorro Lang wrote:
> To give the test option "-L oldlabel" to _scratch_mkfs_sized, xfs/157
> does:
> 
>   MKFS_OPTIONS="-L oldlabel $MKFS_OPTIONS" _scratch_mkfs_sized $fs_size
> 
> but the _scratch_mkfs_sized trys to keep the $fs_size, when mkfs
> fails with incompatible $MKFS_OPTIONS options, likes this:
> 
>   ** mkfs failed with extra mkfs options added to "-L oldlabel -m rmapbt=1" by test 157 **
>   ** attempting to mkfs using only test 157 options: -d size=524288000 -b size=4096 **
> 
> but the "-L oldlabel" is necessary, we shouldn't drop it. To avoid
> that, we give the "-L oldlabel" to _scratch_mkfs_sized through
> function parameters, not through global MKFS_OPTIONS.
> 
> Signed-off-by: Zorro Lang <zlang@kernel.org>
> ---
>  tests/xfs/157 | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/tests/xfs/157 b/tests/xfs/157
> index 9b5badbae..f8f102d78 100755
> --- a/tests/xfs/157
> +++ b/tests/xfs/157
> @@ -66,8 +66,7 @@ scenario() {
>  }
>  
>  check_label() {
> -	MKFS_OPTIONS="-L oldlabel $MKFS_OPTIONS" _scratch_mkfs_sized $fs_size \
> -		>> $seqres.full
> +	_scratch_mkfs_sized "$fs_size" "" "-L oldlabel" >> $seqres.full 2>&1

Don't quote the "-L" and "oldlabel" within the same string unless you
want them passed as a single string to _scratch_mkfs.  Right now that
works because although you have _scratch_mkfs_sized using "$@"
(doublequote-dollarsign-atsign-doublequote) to pass its arguments intact
to _scratch_mkfs, it turns out that _scratch_mkfs just brazely passes $*
(with no quoting) to the actual MKFS_PROG which results in any space in
any single argument being treated as an argument separator and the
string is broken into multiple arguments.

This is why you *can't* do _scratch_mkfs -L "moo cow".

This is also part of why everyone hates bash.

--D

>  	_scratch_xfs_db -c label
>  	_scratch_xfs_admin -L newlabel "$@" >> $seqres.full
>  	_scratch_xfs_db -c label
> -- 
> 2.45.2
> 
> 

  reply	other threads:[~2024-11-18 22:26 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-11-16 19:07 [PATCH 0/2] fstests: fix test issue of xfs/157 Zorro Lang
2024-11-16 19:07 ` [PATCH 1/2] common/rc: _scratch_mkfs_sized supports extra arguments Zorro Lang
2024-11-18 22:21   ` Darrick J. Wong
2024-11-18 22:43     ` Darrick J. Wong
2024-11-21  9:17     ` Zorro Lang
2024-11-21 15:50       ` Darrick J. Wong
2024-11-16 19:08 ` [PATCH 2/2] xfs/157: do not drop necessary mkfs options Zorro Lang
2024-11-18 22:26   ` Darrick J. Wong [this message]
2024-11-21  9:35     ` Zorro Lang
2024-11-21 15:52       ` Darrick J. Wong

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20241118222614.GK9425@frogsfrogsfrogs \
    --to=djwong@kernel.org \
    --cc=fstests@vger.kernel.org \
    --cc=linux-xfs@vger.kernel.org \
    --cc=zlang@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.