From: Andreas Gruenbacher <agruenba@redhat.com>
To: Matthew Wilcox <willy@infradead.org>
Cc: Bob Peterson <rpeterso@redhat.com>,
Dave Chinner <david@fromorbit.com>,
Christoph Hellwig <hch@infradead.org>,
"Darrick J . Wong" <darrick.wong@oracle.com>,
linux-xfs@vger.kernel.org,
linux-fsdevel <linux-fsdevel@vger.kernel.org>
Subject: Re: [PATCH] iomap: Make sure iomap_end is called after iomap_begin
Date: Tue, 16 Jun 2020 15:57:08 +0200 [thread overview]
Message-ID: <CAHc6FU7uU8rUMdkspqH+Zv_O5zi2eEyOYF4x4Je-eCNeM+7NHA@mail.gmail.com> (raw)
In-Reply-To: <20200616132318.GZ8681@bombadil.infradead.org>
On Tue, Jun 16, 2020 at 3:23 PM Matthew Wilcox <willy@infradead.org> wrote:
> On Tue, Jun 16, 2020 at 08:17:28AM -0400, Bob Peterson wrote:
> > ----- Original Message -----
> > > > I'd assume Andreas is looking at converting a filesystem to use iomap,
> > > > since this problem only occurs for filesystems which have returned an
> > > > invalid extent.
> > >
> > > Well, I can assume it's gfs2, but you know what happens when you
> > > assume something....
> >
> > Yes, it's gfs2, which already has iomap. I found the bug while just browsing
> > the code: gfs2 takes a lock in the begin code. If there's an error,
> > however unlikely, the end code is never called, so we would never unlock.
> > It doesn't matter to me whether the error is -EIO because it's very unlikely
> > in the first place. I haven't looked back to see where the problem was
> > introduced, but I suspect it should be ported back to stable releases.
>
> It shouldn't just be "unlikely", it should be impossible. This is the
> iomap code checking whether you've returned an extent which doesn't cover
> the range asked for. I don't think it needs to be backported, and I'm
> pretty neutral on whether it needs to be applied.
Right, when these warnings trigger, the filesystem has already screwed
up; this fix only makes things less bad. Those kinds of issues are
very likely to be fixed long before the code hits users, so it
shouldn't be backported.
This bug was in iomap_apply right from the start, so:
Fixes: ae259a9c8593 ("fs: introduce iomap infrastructure")
Thanks,
Andreas
next prev parent reply other threads:[~2020-06-16 13:57 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-06-15 16:02 [PATCH] iomap: Make sure iomap_end is called after iomap_begin Andreas Gruenbacher
2020-06-15 23:32 ` Dave Chinner
2020-06-15 23:44 ` Matthew Wilcox
2020-06-16 0:39 ` Dave Chinner
2020-06-16 12:17 ` Bob Peterson
2020-06-16 13:23 ` Matthew Wilcox
2020-06-16 13:57 ` Andreas Gruenbacher [this message]
2020-06-16 16:25 ` Darrick J. Wong
2020-06-16 16:34 ` Andreas Grünbacher
2020-06-16 16:38 ` Bob Peterson
2020-06-17 23:44 ` Dave Chinner
2020-06-18 1:39 ` Darrick J. Wong
2020-06-18 12:21 ` Andreas Gruenbacher
2020-06-18 12:32 ` Matthew Wilcox
2020-06-18 12:37 ` Andreas Gruenbacher
2020-06-18 13:56 ` Christoph Hellwig
2020-06-18 15:15 ` Matthew Wilcox
2020-06-19 13:18 ` Christoph Hellwig
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=CAHc6FU7uU8rUMdkspqH+Zv_O5zi2eEyOYF4x4Je-eCNeM+7NHA@mail.gmail.com \
--to=agruenba@redhat.com \
--cc=darrick.wong@oracle.com \
--cc=david@fromorbit.com \
--cc=hch@infradead.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-xfs@vger.kernel.org \
--cc=rpeterso@redhat.com \
--cc=willy@infradead.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.