From: Qu Wenruo <wqu@suse.com>
To: linux-btrfs@vger.kernel.org
Subject: [PATCH 0/2] btrfs: remove COW fixup and checked folio flag
Date: Wed, 8 Apr 2026 13:55:30 +0930 [thread overview]
Message-ID: <cover.1775621833.git.wqu@suse.com> (raw)
For experimental builds we're already rejecting dirty folios which
don't have ordered flags since v6.15.
Unfortunately we're not yet removing that COW fixup machanism for
non-experimental builds even at v7.0, as there are still some error
corner cases that can lead to dirty folios without ordered flags.
After those years of testing, we're sure we won't need COW fixup for
regular cases. Although I want to remove the COW fixup mechanism after
all known reproducible cases are fixed, I run out of ideas.
Furthermore for the future of huge folios (order 9, 2M page on 4K page
size systems), we can not afford the extra bitmap for a huge folio.
In that case, a huge folio will need 64 bytes per bitmap, which is no
longer a small amount.
I believe it's time to remove the COW fixup mechanism even for
non-experimental builds, along with the checked folio flags.
Qu Wenruo (2):
btrfs: remove the COW fixup mechanism
btrfs: remove folio checked subpage bitmap tracking
fs/btrfs/defrag.c | 1 -
fs/btrfs/file.c | 10 --
fs/btrfs/free-space-cache.c | 4 -
fs/btrfs/inode.c | 204 +++---------------------------------
fs/btrfs/reflink.c | 1 -
fs/btrfs/subpage.c | 39 +------
fs/btrfs/subpage.h | 5 +-
7 files changed, 17 insertions(+), 247 deletions(-)
--
2.53.0
next reply other threads:[~2026-04-08 4:26 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-08 4:25 Qu Wenruo [this message]
2026-04-08 4:25 ` [PATCH 1/2] btrfs: remove the COW fixup mechanism Qu Wenruo
2026-04-13 17:50 ` David Sterba
2026-04-08 4:25 ` [PATCH 2/2] btrfs: remove folio checked subpage bitmap tracking Qu Wenruo
2026-04-13 17:49 ` [PATCH 0/2] btrfs: remove COW fixup and checked folio flag David Sterba
2026-04-13 21:46 ` Qu Wenruo
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=cover.1775621833.git.wqu@suse.com \
--to=wqu@suse.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox