From: "Darrick J. Wong" <djwong@kernel.org>
To: Zorro Lang <zlang@redhat.com>
Cc: Zorro Lang <zlang@kernel.org>,
fstests@vger.kernel.org, linux-xfs@vger.kernel.org
Subject: Re: [PATCH 2/2] xfs/157: do not drop necessary mkfs options
Date: Thu, 21 Nov 2024 07:52:01 -0800 [thread overview]
Message-ID: <20241121155201.GS9425@frogsfrogsfrogs> (raw)
In-Reply-To: <20241121093537.ae74gwbzl53yvsn2@dell-per750-06-vm-08.rhts.eng.pek2.redhat.com>
On Thu, Nov 21, 2024 at 05:35:37PM +0800, Zorro Lang wrote:
> On Mon, Nov 18, 2024 at 02:26:14PM -0800, Darrick J. Wong wrote:
> > 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 "$@"
>
> I use "$@" just for _scratch_mkfs_sized can give an empty argument to
> _try_scratch_mkfs_sized to be its second argument.
>
> how about:
> _scratch_mkfs_sized "$fs_size" "" -L oldlabel
>
> > (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.
>
> Hmm... do you need to change the $* of _scratch_mkfs to $@ too?
Yeah, that's something that needs to be done treewide. The trouble is,
I bet there's other tests out there that have come to rely on the bad
splitting behavior and do things like
_scratch_fubar "-x 555"
becoming
execve("foobar", "-x" "555");
and will break if we try to fix it now.
--D
> >
> > --D
> >
> > > _scratch_xfs_db -c label
> > > _scratch_xfs_admin -L newlabel "$@" >> $seqres.full
> > > _scratch_xfs_db -c label
> > > --
> > > 2.45.2
> > >
> > >
> >
>
>
prev parent reply other threads:[~2024-11-21 15:52 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
2024-11-21 9:35 ` Zorro Lang
2024-11-21 15:52 ` Darrick J. Wong [this message]
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=20241121155201.GS9425@frogsfrogsfrogs \
--to=djwong@kernel.org \
--cc=fstests@vger.kernel.org \
--cc=linux-xfs@vger.kernel.org \
--cc=zlang@kernel.org \
--cc=zlang@redhat.com \
/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.