ext4: add RWF_DONTCACHE write support buffered-uncached.9
authorJens Axboe <axboe@kernel.dk>
Sat, 9 Nov 2024 16:51:58 +0000 (09:51 -0700)
committerJens Axboe <axboe@kernel.dk>
Fri, 13 Dec 2024 15:32:48 +0000 (08:32 -0700)
commitc51cc6fcbc6e17664ee5804294a2bd8ffedc8194
tree6f22f08708d5d54aa27ce6715fc8177985dff7c7
parentd3d3c72060dffb4426434e229cde131111c2218b
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