All of lore.kernel.org
 help / color / mirror / Atom feed
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

  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.