From: Eryu Guan <guan@eryu.me>
To: Filipe Manana <fdmanana@gmail.com>
Cc: Josef Bacik <josef@toxicpanda.com>,
linux-btrfs <linux-btrfs@vger.kernel.org>,
fstests <fstests@vger.kernel.org>,
Johannes Thumshirn <johannes.thumshirn@wdc.com>
Subject: Re: [PATCH][v4] fstests: add generic/609 to test O_DIRECT|O_DSYNC
Date: Sun, 13 Sep 2020 23:03:57 +0800 [thread overview]
Message-ID: <20200913150357.GH3853@desktop> (raw)
In-Reply-To: <CAL3q7H4sZguHFddwAeEFOkdOtbTZ-MHmDPuOR2obHVPro0nkkw@mail.gmail.com>
On Fri, Sep 04, 2020 at 02:12:35PM +0100, Filipe Manana wrote:
> On Wed, Sep 2, 2020 at 6:11 PM Josef Bacik <josef@toxicpanda.com> wrote:
> >
> > We had a problem recently where btrfs would deadlock with
> > O_DIRECT|O_DSYNC because of an unexpected dependency on ->fsync in
> > iomap. This was only caught by chance with aiostress, because weirdly
> > we don't actually test this particular configuration anywhere in
> > xfstests. Fix this by adding a basic test that just does
> > O_DIRECT|O_DSYNC writes. With this test the box deadlocks right away
> > with Btrfs, which would have been helpful in finding this issue before
> > the patches were merged.
> >
> > Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
> > Signed-off-by: Josef Bacik <josef@toxicpanda.com>
> > ---
> > v3->v4:
> > - Trying to see how many times I can fuck this thing up.
> > - Simplified the xfs_io command per Darrick's suggestion.
> > - Added it to the rw group.
> >
> > tests/generic/609 | 43 +++++++++++++++++++++++++++++++++++++++++++
> > tests/generic/609.out | 3 +++
> > tests/generic/group | 1 +
> > 3 files changed, 47 insertions(+)
> > create mode 100755 tests/generic/609
> > create mode 100644 tests/generic/609.out
> >
> > diff --git a/tests/generic/609 b/tests/generic/609
> > new file mode 100755
> > index 00000000..6c74ae63
> > --- /dev/null
> > +++ b/tests/generic/609
> > @@ -0,0 +1,43 @@
> > +#! /bin/bash
> > +# SPDX-License-Identifier: GPL-2.0
> > +# Copyright (c) 2020 Josef Bacik. All Rights Reserved.
> > +#
> > +# FS QA Test 609
> > +#
> > +# iomap can call generic_write_sync() if we're O_DSYNC, so write a basic test to
> > +# exercise O_DSYNC so any unsuspecting file systems will get lockdep warnings if
> > +# their locking isn't compatible.
> > +#
> > +seq=`basename $0`
> > +seqres=$RESULT_DIR/$seq
> > +echo "QA output created by $seq"
> > +
> > +here=`pwd`
> > +tmp=/tmp/$$
> > +status=1 # failure is the default!
> > +trap "_cleanup; exit \$status" 0 1 2 3 15
> > +
> > +_cleanup()
> > +{
> > + cd /
> > + rm -f $tmp.*
> > + rm -rf $TEST_DIR/file
> > +}
> > +
> > +# get standard environment, filters and checks
> > +. ./common/rc
> > +. ./common/filter
> > +
> > +# remove previous $seqres.full before test
> > +rm -f $seqres.full
> > +
> > +# Modify as appropriate.
> > +_supported_fs generic
> > +_supported_os Linux
> > +_require_test
> > +_require_xfs_io_command "pwrite"
>
> missing a:
>
> _require_odirect
>
> Other than that, it looks good. Perhaps Eryu can add that when picking
> this, so you avoid sending a v5.
Yeah, I've added that on commit.
>
> Reviewed-by: Filipe Manana <fdmanana@suse.com>
Thanks for the review!
Eryu
next prev parent reply other threads:[~2020-09-13 15:04 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-09-02 17:03 [PATCH] fstests: btrfs/219 add a test for some disk caching usecases Josef Bacik
2020-09-02 17:10 ` [PATCH][v4] fstests: add generic/609 to test O_DIRECT|O_DSYNC Josef Bacik
2020-09-02 18:21 ` Darrick J. Wong
2020-09-04 13:12 ` Filipe Manana
2020-09-13 15:03 ` Eryu Guan [this message]
2020-09-03 3:12 ` [PATCH] fstests: btrfs/219 add a test for some disk caching usecases Anand Jain
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=20200913150357.GH3853@desktop \
--to=guan@eryu.me \
--cc=fdmanana@gmail.com \
--cc=fstests@vger.kernel.org \
--cc=johannes.thumshirn@wdc.com \
--cc=josef@toxicpanda.com \
--cc=linux-btrfs@vger.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.