From: Joanne Koong <joannelkoong@gmail.com>
To: linux-fsdevel@vger.kernel.org
Cc: hch@lst.de, miklos@szeredi.hu, brauner@kernel.org,
djwong@kernel.org, anuj20.g@samsung.com, kernel-team@meta.com
Subject: [PATCH v5 0/5] fuse: use iomap for buffered writes + writeback
Date: Tue, 15 Jul 2025 13:21:17 -0700 [thread overview]
Message-ID: <20250715202122.2282532-1-joannelkoong@gmail.com> (raw)
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.
This patchset is on top of Christoph's iomap patchset which is in his git
tree git://git.infradead.org/users/hch/misc.git iomap-writeback-refactor and
has been merged into the vfs tree.
The changes in this patchset can be found in this git tree,
https://github.com/joannekoong/linux/commits/fuse_iomap/
Please note that this patchset does not enable large folios yet. That will be
sent out in a separate future patchset.
Thanks,
Joanne
Changeset
-------
v4 -> v5:
* Use PAGE_SHIFT instead of dividing by PAGE_SIZE (Darrick)
* Add comment about nr_bytes not overflowing
* Round number of pages up when comparing against max_pages (me)
v4:
https://lore.kernel.org/linux-fsdevel/20250709221023.2252033-1-joannelkoong@gmail.com/
v3 -> v4:
* Get rid of writethrough goto (Miklos)
* Move iomap_start_folio_write call to after error check (Darrick)
* Tidy up args for fuse_writepage_need_send() (me)
v3:
https://lore.kernel.org/linux-fsdevel/20250624022135.832899-1-joannelkoong@gmail.com/
v2 -> v3:
* Fix up fuse patches to use iomap APIs from Christoph's patches
* Drop CONFIG_BLOCK patches
* Add patch to use iomap for invalidation and partial uptodateness check
* Add patch for refactoring fuse writeback to use iomap_writepage_ctx inode
v2:
https://lore.kernel.org/linux-fsdevel/20250613214642.2903225-1-joannelkoong@gmail.com/
v1 -> v2:
* Drop IOMAP_IN_MEM type and just use IOMAP_MAPPED for fuse
* Separate out new helper functions added to iomap into separate commits
* Update iomap documentation
* Clean up iomap_writeback_dirty_folio() locking logic w/ christoph's
recommendation
* Refactor ->map_blocks() to generic ->writeback_folio()
* Refactor ->submit_ioend() to generic ->writeback_complete()
* Add patch for changing 'count' to 'async_writeback'
* Rebase commits onto linux branch instead of fuse branch
v1:
https://lore.kernel.org/linux-fsdevel/20250606233803.1421259-1-joannelkoong@gmail.com/
Joanne Koong (5):
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
fs/fuse/Kconfig | 1 +
fs/fuse/file.c | 345 +++++++++++++++++++++---------------------------
2 files changed, 154 insertions(+), 192 deletions(-)
--
2.47.1
next reply other threads:[~2025-07-15 20:22 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-15 20:21 Joanne Koong [this message]
2025-07-15 20:21 ` [PATCH v5 1/5] fuse: use iomap for buffered writes Joanne Koong
2025-07-15 20:21 ` [PATCH v5 2/5] fuse: use iomap for writeback Joanne Koong
2025-07-15 20:57 ` Darrick J. Wong
2025-07-15 20:21 ` [PATCH v5 3/5] fuse: use iomap for folio laundering Joanne Koong
2025-07-15 20:21 ` [PATCH v5 4/5] fuse: hook into iomap for invalidating and checking partial uptodateness Joanne Koong
2025-07-15 20:21 ` [PATCH v5 5/5] fuse: refactor writeback to use iomap_writepage_ctx inode Joanne Koong
2025-07-17 7:55 ` [PATCH v5 0/5] fuse: use iomap for buffered writes + writeback 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=20250715202122.2282532-1-joannelkoong@gmail.com \
--to=joannelkoong@gmail.com \
--cc=anuj20.g@samsung.com \
--cc=brauner@kernel.org \
--cc=djwong@kernel.org \
--cc=hch@lst.de \
--cc=kernel-team@meta.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=miklos@szeredi.hu \
/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).