ext4: add RWF_DONTCACHE write support buffered-uncached-fs.11
authorJens Axboe <axboe@kernel.dk>
Sat, 9 Nov 2024 16:51:58 +0000 (09:51 -0700)
committerJens Axboe <axboe@kernel.dk>
Sat, 22 Feb 2025 00:25:00 +0000 (17:25 -0700)
commitb4c13bcab99f9c6820a979a2fdd04cef7cb83e3f
tree527bd794cc15739e40e226bb680c3715e5208db8
parent553380037b36b25843ef17eb9be338bfe9184d50
ext4: add RWF_DONTCACHE write support

IOCB_DONTCACHE IO needs to prune writeback regions on IO completion,
and hence need the worker punt that ext4 also does for unwritten
extents. Add an io_end flag to manage that.

If foliop is set to foliop_uncached in ext4_write_begin(), then set
FGP_DONTCACHE so that __filemap_get_folio() will mark newly created
folios as uncached. That in turn will make writeback completion drop
these ranges from the page cache.

Now that ext4 supports both uncached reads and writes, add the fop_flag
FOP_DONTCACHE to enable it.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
fs/ext4/ext4.h
fs/ext4/file.c
fs/ext4/inline.c
fs/ext4/inode.c
fs/ext4/page-io.c