From: Christian Brauner <brauner@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Christian Brauner <brauner@kernel.org>,
linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [GIT PULL 14/14 for v6.17] vfs iomap
Date: Fri, 25 Jul 2025 13:27:20 +0200 [thread overview]
Message-ID: <20250725-vfs-iomap-e5f67758f577@brauner> (raw)
In-Reply-To: <20250725-vfs-617-1bcbd4ae2ea6@brauner>
Hey Linus,
/* Summary */
This contains the iomap updates for this cycle:
- Refactor the iomap writeback code and split the generic and ioend/bio
based writeback code. There are two methods that define the split
between the generic writeback code, and the implemementation of it,
and all knowledge of ioends and bios now sits below that layer.
- This series adds fuse iomap support for buffered writes and dirty
folio writeback. This is needed so that granular uptodate and dirty
tracking can be used in fuse when large folios are enabled. This has
two big advantages. For writes, instead of the entire folio needing to
be read into the page cache, only the relevant portions need to be.
For writeback, only the dirty portions need to be written back instead
of the entire folio.
/* Testing */
gcc (Debian 14.2.0-19) 14.2.0
Debian clang version 19.1.7 (3)
No build failures or warnings were observed.
/* Conflicts */
Merge conflicts with mainline
=============================
This contains a merge conflict with mainline that can be resolved as follows:
diff --cc fs/fuse/file.c
index 2ddfb3bb6483,f16426fd2bf5..000000000000
--- a/fs/fuse/file.c
+++ b/fs/fuse/file.c
Merge conflicts with other trees
================================
No known conflicts.
The following changes since commit 19272b37aa4f83ca52bdf9c16d5d81bdd1354494:
Linux 6.16-rc1 (2025-06-08 13:44:43 -0700)
are available in the Git repository at:
git@gitolite.kernel.org:pub/scm/linux/kernel/git/vfs/vfs tags/vfs-6.17-rc1.iomap
for you to fetch changes up to d5212d819e02313f27c867e6d365e71f1fdaaca4:
Merge patch series "fuse: use iomap for buffered writes + writeback" (2025-07-17 09:55:23 +0200)
Please consider pulling these changes from the signed vfs-6.17-rc1.iomap tag.
Thanks!
Christian
----------------------------------------------------------------
vfs-6.17-rc1.iomap
----------------------------------------------------------------
Christian Brauner (2):
Merge patch series "refactor the iomap writeback code v5"
Merge patch series "fuse: use iomap for buffered writes + writeback"
Christoph Hellwig (11):
iomap: header diet
iomap: pass more arguments using the iomap writeback context
iomap: refactor the writeback interface
iomap: hide ioends from the generic writeback code
iomap: move all ioend handling to ioend.c
iomap: rename iomap_writepage_map to iomap_writeback_folio
iomap: export iomap_writeback_folio
iomap: replace iomap_folio_ops with iomap_write_ops
iomap: improve argument passing to iomap_read_folio_sync
iomap: add read_folio_range() handler for buffered writes
iomap: build the writeback code without CONFIG_BLOCK
Joanne Koong (8):
iomap: cleanup the pending writeback tracking in iomap_writepage_map_blocks
iomap: add public helpers for uptodate state manipulation
iomap: move folio_unlock out of iomap_writeback_folio
fuse: use iomap for buffered writes
fuse: use iomap for writeback
fuse: use iomap for folio laundering
fuse: hook into iomap for invalidating and checking partial uptodateness
fuse: refactor writeback to use iomap_writepage_ctx inode
Documentation/filesystems/iomap/design.rst | 3 -
Documentation/filesystems/iomap/operations.rst | 57 ++-
block/fops.c | 37 +-
fs/fuse/Kconfig | 1 +
fs/fuse/file.c | 345 +++++++--------
fs/gfs2/aops.c | 8 +-
fs/gfs2/bmap.c | 48 ++-
fs/gfs2/bmap.h | 1 +
fs/gfs2/file.c | 3 +-
fs/iomap/Makefile | 6 +-
fs/iomap/buffered-io.c | 553 ++++++++-----------------
fs/iomap/direct-io.c | 5 -
fs/iomap/fiemap.c | 3 -
fs/iomap/internal.h | 1 -
fs/iomap/ioend.c | 220 +++++++++-
fs/iomap/iter.c | 1 -
fs/iomap/seek.c | 4 -
fs/iomap/swapfile.c | 3 -
fs/iomap/trace.c | 1 -
fs/iomap/trace.h | 4 +-
fs/xfs/xfs_aops.c | 212 ++++++----
fs/xfs/xfs_file.c | 6 +-
fs/xfs/xfs_iomap.c | 12 +-
fs/xfs/xfs_iomap.h | 1 +
fs/xfs/xfs_reflink.c | 3 +-
fs/zonefs/file.c | 40 +-
include/linux/iomap.h | 82 ++--
27 files changed, 859 insertions(+), 801 deletions(-)
next prev parent reply other threads:[~2025-07-25 11:27 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-25 11:27 [GIT PULL 00/14 for v6.17] vfs 6.17 Christian Brauner
2025-07-25 11:27 ` [GIT PULL 05/14 for v6.17] vfs async dir Christian Brauner
2025-07-28 23:40 ` pr-tracker-bot
2025-07-25 11:27 ` [GIT PULL 09/14 for v6.17] vfs bpf Christian Brauner
2025-07-28 23:40 ` pr-tracker-bot
2025-07-29 18:15 ` Alexei Starovoitov
2025-07-31 8:27 ` Christian Brauner
2025-07-31 21:57 ` Alexei Starovoitov
2025-08-04 14:24 ` Christian Brauner
2025-07-25 11:27 ` [GIT PULL 02/14 for v6.17] vfs coredump Christian Brauner
2025-07-28 18:57 ` Linus Torvalds
2025-07-31 9:37 ` Christian Brauner
2025-07-28 23:40 ` pr-tracker-bot
2025-07-25 11:27 ` [GIT PULL 06/14 for v6.17] vfs fallocate Christian Brauner
2025-07-28 23:40 ` pr-tracker-bot
2025-07-25 11:27 ` [GIT PULL 12/14 for v6.17] vfs fileattr Christian Brauner
2025-07-28 23:40 ` pr-tracker-bot
2025-07-25 11:27 ` [GIT PULL 11/14 for v6.17] vfs integrity Christian Brauner
2025-07-28 1:29 ` Hugh Dickins
2025-07-28 22:21 ` Linus Torvalds
2025-07-29 7:49 ` Christoph Hellwig
2025-07-29 8:39 ` Linus Torvalds
2025-07-31 8:00 ` Christian Brauner
2025-07-28 23:40 ` pr-tracker-bot
2025-07-25 11:27 ` Christian Brauner [this message]
2025-07-27 13:10 ` [GIT PULL 14/14 for v6.17] vfs iomap Sasha Levin
2025-07-28 16:39 ` Joanne Koong
2025-07-31 8:29 ` Christian Brauner
2025-07-28 23:40 ` pr-tracker-bot
2025-07-25 11:27 ` [GIT PULL 01/14 for v6.17] vfs misc Christian Brauner
2025-07-28 23:40 ` pr-tracker-bot
2025-07-25 11:27 ` [GIT PULL 07/14 for v6.17] vfs mmap Christian Brauner
2025-07-28 23:40 ` pr-tracker-bot
2025-07-25 11:27 ` [GIT PULL 04/14 for v6.17] namespace updates Christian Brauner
2025-07-28 23:40 ` pr-tracker-bot
2025-07-25 11:27 ` [GIT PULL 03/14 for v6.17] overlayfs Christian Brauner
2025-07-28 23:40 ` pr-tracker-bot
2025-07-25 11:27 ` [GIT PULL 08/14 for v6.17] vfs pidfs Christian Brauner
2025-07-28 23:40 ` pr-tracker-bot
2025-07-25 11:27 ` [GIT PULL 10/14 for v6.17] vfs rust Christian Brauner
2025-07-28 23:40 ` pr-tracker-bot
2025-07-25 11:27 ` [GIT PULL 13/14 for v6.17] vfs super Christian Brauner
2025-07-28 23:40 ` pr-tracker-bot
2025-07-31 9:40 ` [GIT PULL 00/14 for v6.17] vfs 6.17 Christian Brauner
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=20250725-vfs-iomap-e5f67758f577@brauner \
--to=brauner@kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@linux-foundation.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;
as well as URLs for NNTP newsgroup(s).