ext4: never fall back to buffered I/O for atomic direct writes - #1281
Open
blktests-ci-kpd[bot] wants to merge 1 commit into
Open
ext4: never fall back to buffered I/O for atomic direct writes#1281blktests-ci-kpd[bot] wants to merge 1 commit into
blktests-ci-kpd[bot] wants to merge 1 commit into
Conversation
Author
|
Upstream branch: 893e117 |
blktests-ci-kpd
Bot
force-pushed
the
linus-master_base
branch
from
September 10, 2026 15:29
00cc4ca to
7efd8cd
Compare
Author
|
Upstream branch: 50d05c7 |
blktests-ci-kpd
Bot
force-pushed
the
series/1161607=>linus-master
branch
from
September 10, 2026 15:31
cb229f3 to
ae7488e
Compare
blktests-ci-kpd
Bot
force-pushed
the
linus-master_base
branch
from
September 12, 2026 02:26
7efd8cd to
a0aeca9
Compare
ext4_dio_write_iter() finishes a short direct write through the page cache. For an atomic write that path only warns and then continues, which would tear the write. This came out of a block device fix [1], where an IOCB_ATOMIC direct write could complete short when only part of the buffer could be pinned, with the rest going through the buffered fallback. Christoph Hellwig noted that ext4 has the same fallback and only warns in it [2], and John Garry agreed it should reject the write instead [3]. In contrast to the block device, nothing reaches the branch on ext4 today: iomap requires the mapping to cover the whole atomic write, a buffer that can't be pinned in full fails in iomap before the bio is submitted, and a failed page cache invalidation returns -EAGAIN rather than reaching the buffered fallback. Exclude atomic writes from the fallback outright instead of WARN()-ing inside it, so any future bug yields an error rather than a torn write with a WARN(). Link: https://lore.kernel.org/linux-block/20260828-blkdev-fixes-v2-0-32f3f40cebed@columbia.edu/ [1] Link: https://lore.kernel.org/linux-block/20260907071217.GD934@lst.de/ [2] Link: https://lore.kernel.org/linux-block/a7752d1e-8ec1-44d1-a266-c287c315e8ab@oracle.com/ [3] Signed-off-by: Tal Zussman <tz2294@columbia.edu>
Author
|
Upstream branch: 5225b8e |
blktests-ci-kpd
Bot
force-pushed
the
series/1161607=>linus-master
branch
from
September 12, 2026 02:28
ae7488e to
992ce45
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Pull request for series with
subject: ext4: never fall back to buffered I/O for atomic direct writes
version: 1
url: https://patchwork.kernel.org/series/1161607/