From: "Darrick J. Wong" <djwong@kernel.org>
To: Zorro Lang <zlang@redhat.com>
Cc: linux-xfs@vger.kernel.org, fstests@vger.kernel.org
Subject: Re: [PATCH 1/8] generic/604: try to make race occur reliably
Date: Mon, 26 Feb 2024 20:27:26 -0800 [thread overview]
Message-ID: <20240227042726.GR616564@frogsfrogsfrogs> (raw)
In-Reply-To: <20240227040449.6qvvdk2k6bzoy6pr@dell-per750-06-vm-08.rhts.eng.pek2.redhat.com>
On Tue, Feb 27, 2024 at 12:04:49PM +0800, Zorro Lang wrote:
> On Mon, Feb 26, 2024 at 06:00:47PM -0800, Darrick J. Wong wrote:
> > From: Darrick J. Wong <djwong@kernel.org>
> >
> > This test will occasionaly fail like so:
> >
> > --- /tmp/fstests/tests/generic/604.out 2024-02-03 12:08:52.349924277 -0800
> > +++ /var/tmp/fstests/generic/604.out.bad 2024-02-05 04:35:55.020000000 -0800
> > @@ -1,2 +1,5 @@
> > QA output created by 604
> > -Silence is golden
> > +mount: /opt: /dev/sda4 already mounted on /opt.
> > + dmesg(1) may have more information after failed mount system call.
> > +mount -o usrquota,grpquota,prjquota, /dev/sda4 /opt failed
> > +(see /var/tmp/fstests/generic/604.full for details)
> >
> > As far as I can tell, the cause of this seems to be _scratch_mount
> > getting forked and exec'd before the backgrounded umount process has a
> > chance to enter the kernel. When this occurs, the mount() system call
> > will return -EBUSY because this isn't an attempt to make a bind mount.
> > Slow things down slightly by stalling the mount by 10ms.
> >
> > Signed-off-by: Darrick J. Wong <djwong@kernel.org>
> > ---
> > tests/generic/604 | 7 ++++---
> > 1 file changed, 4 insertions(+), 3 deletions(-)
> >
> >
> > diff --git a/tests/generic/604 b/tests/generic/604
> > index cc6a4b214f..a0dcdcd58e 100755
> > --- a/tests/generic/604
> > +++ b/tests/generic/604
> > @@ -24,10 +24,11 @@ _scratch_mount
> > for i in $(seq 0 500); do
> > $XFS_IO_PROG -f -c "pwrite 0 4K" $SCRATCH_MNT/$i >/dev/null
> > done
> > -# For overlayfs, avoid unmouting the base fs after _scratch_mount
> > -# tries to mount the base fs
> > +# For overlayfs, avoid unmouting the base fs after _scratch_mount tries to
> > +# mount the base fs. Delay the mount attempt by 0.1s in the hope that the
> > +# mount() call will try to lock s_umount /after/ umount has already taken it.
> > $UMOUNT_PROG $SCRATCH_MNT &
> > -_scratch_mount
> > +sleep 0.01s ; _scratch_mount
>
> 0.1s or 0.01s ? Above comment says 0.1s, but it sleeps 0.01s actually :)
>
> The comment of g/604 says "Evicting dirty inodes can take a long time during
> umount." So how long time makes sense, how long is the bug?
/me has no idea. :/
The 10ms delay is a (racy bs) to try to to let the umount run just
enough that the mount will either end up blocked until the unmount
succeeds or find no contention and no mount either.
--D
> Thanks,
> Zorro
>
> > wait
> >
> > echo "Silence is golden"
> >
>
>
next prev parent reply other threads:[~2024-02-27 4:27 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-02-27 2:00 [PATCHSET] fstests: random fixes for v2024.02.09 Darrick J. Wong
2024-02-27 2:00 ` [PATCH 1/8] generic/604: try to make race occur reliably Darrick J. Wong
2024-02-27 4:04 ` Zorro Lang
2024-02-27 4:27 ` Darrick J. Wong [this message]
2024-02-27 4:40 ` [PATCH v1.1 " Darrick J. Wong
2024-02-27 5:15 ` Zorro Lang
2024-02-27 14:52 ` Christoph Hellwig
2024-03-02 11:44 ` Zorro Lang
2024-02-27 2:01 ` [PATCH 2/8] xfs/155: fail the test if xfs_repair hangs for too long Darrick J. Wong
2024-02-27 4:16 ` Zorro Lang
2024-02-27 4:41 ` [PATCH v1.1 " Darrick J. Wong
2024-02-27 5:14 ` Zorro Lang
2024-02-27 14:52 ` Christoph Hellwig
2024-02-27 2:01 ` [PATCH 3/8] generic/192: fix spurious timeout Darrick J. Wong
2024-02-27 4:23 ` Zorro Lang
2024-02-27 4:29 ` Darrick J. Wong
2024-02-27 14:53 ` Christoph Hellwig
2024-02-27 2:01 ` [PATCH 4/8] generic/491: increase test timeout Darrick J. Wong
2024-02-27 4:28 ` Zorro Lang
2024-02-27 14:53 ` Christoph Hellwig
2024-02-27 2:01 ` [PATCH 5/8] xfs/599: reduce the amount of attrs created here Darrick J. Wong
2024-02-27 4:33 ` Zorro Lang
2024-02-27 2:02 ` [PATCH 6/8] xfs/122: update test to pick up rtword/suminfo ondisk unions Darrick J. Wong
2024-02-27 5:10 ` Zorro Lang
2024-02-27 14:54 ` Christoph Hellwig
2024-02-28 1:27 ` Darrick J. Wong
2024-02-28 15:39 ` Christoph Hellwig
2024-02-29 17:48 ` Darrick J. Wong
2024-02-29 19:42 ` Christoph Hellwig
2024-03-01 13:18 ` Zorro Lang
2024-03-01 17:50 ` Darrick J. Wong
2024-03-02 4:55 ` Zorro Lang
2024-03-07 23:24 ` Darrick J. Wong
2024-02-27 2:02 ` [PATCH 7/8] xfs/43[4-6]: make module reloading optional Darrick J. Wong
2024-02-27 5:31 ` Zorro Lang
2024-02-28 1:28 ` Darrick J. Wong
2024-03-01 17:51 ` [PATCH v1.1 " Darrick J. Wong
2024-03-02 12:04 ` Zorro Lang
2024-02-27 2:02 ` [PATCH 8/8] xfs: test for premature ENOSPC with large cow delalloc extents Darrick J. Wong
2024-02-27 6:00 ` Zorro Lang
2024-02-28 1:36 ` Darrick J. Wong
2024-03-01 17:52 ` [PATCH v1.1 " Darrick J. Wong
2024-03-02 20:50 ` Zorro Lang
2024-03-07 23:17 ` Darrick J. Wong
2024-03-07 23:22 ` [PATCH v1.2 " Darrick J. Wong
2024-03-10 9:17 ` Zorro Lang
2024-03-10 16:26 ` Darrick J. Wong
2024-03-11 13:40 ` Zorro Lang
2024-03-11 15:04 ` Darrick J. Wong
2024-03-03 13:34 ` [PATCHSET] fstests: random fixes for v2024.02.09 Zorro Lang
2024-03-07 23:18 ` 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=20240227042726.GR616564@frogsfrogsfrogs \
--to=djwong@kernel.org \
--cc=fstests@vger.kernel.org \
--cc=linux-xfs@vger.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox