From: Chris Mason <mason@kernel.org>
To: mason@kernel.org, tytso@mit.edu, cem@kernel.org,
david@fromorbit.com, jack@suse.cz, djwong@kernel.org,
josef@toxicpanda.com, hch@lst.de, linux-xfs@vger.kernel.org,
linux-fsdevel@vger.kernel.org
Subject: [PATCH v6 00/10] reflink and atomic write bugs
Date: Mon, 09 Nov 2026 18:51:11 -0500 [thread overview]
Message-ID: <20261109235111.14129-1-mason@kernel.org> (raw)
Hi everyone,
This series did a few rounds privately, but looks ready for the list
now. Except for Christoph's patch, these were all found and fixed
by an LLM.
The meat of the series is fixing reflink corner cases that incorrectly
let you write into the source of a reflink. LLMs also tripped over a
few ways to use atomic writes to expose stale blocks on the drive, and a
few races with realtime flag manipulations.
Carlos and Christoph ran these through fstests (thanks guys).
Chris Mason (9):
xfs: don't skip the flush before shifting extents
xfs: flush the shifted range before changing the file
xfs: don't change the block map under a dirty folio
iomap: don't punch delalloc under a dirty EOF block
fs: validate atomic writes after O_APPEND and limits
xfs: recheck direct write alignment after write checks
xfs: test for reflink after the dio write checks
xfs: refuse fallocate racing with realtime flag changes
xfs: restart faults racing with realtime flag changes
Christoph Hellwig (1):
xfs: refuse writes to files racing with realtime inode flag changes
fs/ext4/file.c | 4 --
fs/iomap/buffered-io.c | 34 ++++++++--
fs/read_write.c | 13 ++++
fs/xfs/xfs_bmap_util.c | 19 +++++-
fs/xfs/xfs_file.c | 150 +++++++++++++++++++++++++++++++++--------
fs/xfs/xfs_iomap.c | 33 ++++++++-
fs/xfs/xfs_reflink.c | 2 +-
7 files changed, 215 insertions(+), 40 deletions(-)
base-commit: 7475ea8b58616b33c04afb976cf0fbaad9dd63fb
--
2.55.0
next reply other threads:[~2026-11-09 23:51 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-09 23:51 Chris Mason [this message]
2026-11-09 23:51 ` [PATCH v6 01/10] xfs: don't skip the flush before shifting extents Chris Mason
2026-11-09 23:51 ` [PATCH v6 02/10] xfs: flush the shifted range before changing the file Chris Mason
2026-11-09 23:51 ` [PATCH v6 03/10] xfs: don't change the block map under a dirty folio Chris Mason
2026-11-09 23:51 ` [PATCH v6 04/10] iomap: don't punch delalloc under a dirty EOF block Chris Mason
2026-11-10 9:43 ` Carlos Maiolino
2026-11-11 11:21 ` Christian Brauner
2026-11-11 13:24 ` Carlos Maiolino
2026-11-09 23:51 ` [PATCH v6 05/10] fs: validate atomic writes after O_APPEND and limits Chris Mason
2026-11-10 9:41 ` Carlos Maiolino
2026-11-10 15:26 ` Chris Mason
2026-11-10 16:20 ` Carlos Maiolino
2026-11-09 23:51 ` [PATCH v6 06/10] xfs: recheck direct write alignment after write checks Chris Mason
2026-11-09 23:51 ` [PATCH v6 07/10] xfs: test for reflink after the dio " Chris Mason
2026-11-09 23:51 ` [PATCH v6 08/10] xfs: refuse writes to files racing with realtime inode flag changes Chris Mason
2026-11-09 23:51 ` [PATCH v6 09/10] xfs: refuse fallocate racing with realtime " Chris Mason
2026-11-09 23:51 ` [PATCH v6 10/10] xfs: restart faults " Chris Mason
2026-11-10 9:45 ` [PATCH v6 00/10] reflink and atomic write bugs Carlos Maiolino
2026-11-10 15:56 ` Chris Mason
2026-11-10 16:22 ` Carlos Maiolino
2026-11-10 16:32 ` Chris Mason
2026-11-10 17:00 ` Carlos Maiolino
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=20261109235111.14129-1-mason@kernel.org \
--to=mason@kernel.org \
--cc=cem@kernel.org \
--cc=david@fromorbit.com \
--cc=djwong@kernel.org \
--cc=hch@lst.de \
--cc=jack@suse.cz \
--cc=josef@toxicpanda.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-xfs@vger.kernel.org \
--cc=tytso@mit.edu \
/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