Skip to content

ext4: never fall back to buffered I/O for atomic direct writes - #1281

Open
blktests-ci-kpd[bot] wants to merge 1 commit into
linus-master_basefrom
series/1161607=>linus-master
Open

blktests-ci-kpd[bot] wants to merge 1 commit into
linus-master_basefrom
series/1161607=>linus-master

Conversation

@blktests-ci-kpd

Copy link
Copy Markdown

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/

@blktests-ci-kpd

Copy link
Copy Markdown
Author

Upstream branch: 893e117
series: https://patchwork.kernel.org/series/1161607/
version: 1

@blktests-ci-kpd

Copy link
Copy Markdown
Author

Upstream branch: 50d05c7
series: https://patchwork.kernel.org/series/1161607/
version: 1

@blktests-ci-kpd

Copy link
Copy Markdown
Author

Upstream branch: 5225b8e
series: https://patchwork.kernel.org/series/1161607/
version: 1

@blktests-ci-kpd

Copy link
Copy Markdown
Author

Upstream branch: 2f0c1cf
series: https://patchwork.kernel.org/series/1161607/
version: 1

3 similar comments
@blktests-ci-kpd

Copy link
Copy Markdown
Author

Upstream branch: 2f0c1cf
series: https://patchwork.kernel.org/series/1161607/
version: 1

@blktests-ci-kpd

Copy link
Copy Markdown
Author

Upstream branch: 2f0c1cf
series: https://patchwork.kernel.org/series/1161607/
version: 1

@blktests-ci-kpd

Copy link
Copy Markdown
Author

Upstream branch: 2f0c1cf
series: https://patchwork.kernel.org/series/1161607/
version: 1

@blktests-ci-kpd
blktests-ci-kpd Bot force-pushed the series/1161607=>linus-master branch from 992ce45 to bf679fd Compare September 13, 2026 09:37
@blktests-ci-kpd

Copy link
Copy Markdown
Author

Upstream branch: 2f0c1cf
series: https://patchwork.kernel.org/series/1161607/
version: 1

@blktests-ci-kpd

Copy link
Copy Markdown
Author

Upstream branch: 5878583
series: https://patchwork.kernel.org/series/1161607/
version: 1

@blktests-ci-kpd

Copy link
Copy Markdown
Author

Upstream branch: f49a343
series: https://patchwork.kernel.org/series/1161607/
version: 1

@blktests-ci-kpd
blktests-ci-kpd Bot force-pushed the series/1161607=>linus-master branch from 34dd2d2 to 714e7a4 Compare September 24, 2026 15:14
@blktests-ci-kpd

Copy link
Copy Markdown
Author

Upstream branch: 6812ce4
series: https://patchwork.kernel.org/series/1161607/
version: 1

@blktests-ci-kpd
blktests-ci-kpd Bot force-pushed the series/1161607=>linus-master branch from 714e7a4 to 8a1bb3d Compare September 26, 2026 08:30
@blktests-ci-kpd

Copy link
Copy Markdown
Author

Upstream branch: 72d3fcf
series: https://patchwork.kernel.org/series/1161607/
version: 1

@blktests-ci-kpd
blktests-ci-kpd Bot force-pushed the series/1161607=>linus-master branch from 8a1bb3d to c2b7d2c Compare September 28, 2026 15:22
@blktests-ci-kpd

Copy link
Copy Markdown
Author

Upstream branch: 551c722
series: https://patchwork.kernel.org/series/1161607/
version: 1

@blktests-ci-kpd
blktests-ci-kpd Bot force-pushed the series/1161607=>linus-master branch from c2b7d2c to 6616780 Compare October 1, 2026 16:14
@blktests-ci-kpd

Copy link
Copy Markdown
Author

Upstream branch: ce1e022
series: https://patchwork.kernel.org/series/1161607/
version: 1

@blktests-ci-kpd
blktests-ci-kpd Bot force-pushed the series/1161607=>linus-master branch from 6616780 to c5ac754 Compare October 1, 2026 23:52
@blktests-ci-kpd

Copy link
Copy Markdown
Author

Upstream branch: e767a4e
series: https://patchwork.kernel.org/series/1161607/
version: 1

@blktests-ci-kpd
blktests-ci-kpd Bot force-pushed the series/1161607=>linus-master branch from c5ac754 to 6915634 Compare October 3, 2026 10:16
@blktests-ci-kpd

Copy link
Copy Markdown
Author

Upstream branch: a74306e
series: https://patchwork.kernel.org/series/1161607/
version: 1

@blktests-ci-kpd
blktests-ci-kpd Bot force-pushed the series/1161607=>linus-master branch from 6915634 to 5ba42f6 Compare October 3, 2026 22:25
@blktests-ci-kpd

Copy link
Copy Markdown
Author

Upstream branch: None
series: https://patchwork.kernel.org/series/1161607/
version: 1

@blktests-ci-kpd
blktests-ci-kpd Bot force-pushed the series/1161607=>linus-master branch from 5ba42f6 to b1f40a0 Compare October 5, 2026 02:32
@blktests-ci-kpd

Copy link
Copy Markdown
Author

Upstream branch: 22430ae
series: https://patchwork.kernel.org/series/1161607/
version: 1

@blktests-ci-kpd
blktests-ci-kpd Bot force-pushed the series/1161607=>linus-master branch from b1f40a0 to 1b7eb01 Compare October 6, 2026 13:16
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>
@blktests-ci-kpd

Copy link
Copy Markdown
Author

Upstream branch: 69f80fe
series: https://patchwork.kernel.org/series/1161607/
version: 1

@blktests-ci-kpd
blktests-ci-kpd Bot force-pushed the series/1161607=>linus-master branch from 1b7eb01 to 6597f17 Compare October 6, 2026 17:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant