From: Matthew Wilcox <willy@infradead.org>
To: Yichong Chen <chenyichong@uniontech.com>
Cc: Chris Mason <clm@fb.com>, David Sterba <dsterba@suse.com>,
Boris Burkov <boris@bur.io>,
linux-btrfs@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v4] btrfs: retry verity reads for not-uptodate Merkle folios
Date: Mon, 17 Aug 2026 04:05:08 +0100 [thread overview]
Message-ID: <aoJ6ZP-jKQoWwuXT@casper.infradead.org> (raw)
In-Reply-To: <20260722025435.1493093-1-chenyichong@uniontech.com>
On Wed, Jul 22, 2026 at 10:54:35AM +0800, Yichong Chen wrote:
> btrfs_read_merkle_tree_page() can find a folio in the mapping that is not
> uptodate. After taking the folio lock, the current code treats that state
> as a read error and returns -EIO.
>
> That can make a previous transient read failure sticky. If the failed read
> left a not-uptodate folio in the mapping, later callers find that folio and
> fail instead of retrying the read.
>
> Keep the existing page-cache insertion and locking order, but retry the
> Merkle item read when a not-uptodate folio is found in the mapping. Also
> unlock the folio when read_key_bytes() fails so that a later caller can
> lock it and retry the read.
>
> Fixes: 06ed09351b67 ("btrfs: convert btrfs_read_merkle_tree_page() to use a folio")
I object to this Fixes line. I didn't introduce this problem; it was
already there before 06ed09351b67.
next prev parent reply other threads:[~2026-08-17 3:05 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-22 2:54 [PATCH v4] btrfs: retry verity reads for not-uptodate Merkle folios Yichong Chen
2026-07-23 3:14 ` David Sterba
2026-08-17 3:07 ` Matthew Wilcox
2026-07-23 3:15 ` David Sterba
2026-08-17 3:05 ` Matthew Wilcox [this message]
2026-08-17 15:56 ` David Sterba
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=aoJ6ZP-jKQoWwuXT@casper.infradead.org \
--to=willy@infradead.org \
--cc=boris@bur.io \
--cc=chenyichong@uniontech.com \
--cc=clm@fb.com \
--cc=dsterba@suse.com \
--cc=linux-btrfs@vger.kernel.org \
--cc=linux-kernel@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.