Re: [PATCH v3 15/16] fuse: hook into iomap for invalidating and checking partial uptodateness

Darrick J. Wong
2025-07-02T18:14:55Z

On Mon, Jun 23, 2025 at 07:21:34PM -0700, Joanne Koong wrote:
> Hook into iomap_invalidate_folio() so that if the entire folio is being
> invalidated during truncation, the dirty state is cleared and the folio
> doesn't get written back. As well the folio's corresponding ifs struct
> will get freed.
>
> Hook into iomap_is_partially_uptodate() since iomap tracks uptodateness
> granularly when it does buffered writes.
>
> Signed-off-by: Joanne Koong <joannelkoong@gmail.com>

Seems reasonable
Reviewed-by: "Darrick J. Wong" <djwong@kernel.org>

--D

> ---
> fs/fuse/file.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/fs/fuse/file.c b/fs/fuse/file.c
> index 35ecc03c0c48..865d04b8ef31 100644
> --- a/fs/fuse/file.c
> +++ b/fs/fuse/file.c
> @@ -3109,6 +3109,8 @@ static const struct address_space_operations fuse_file_aops = {
> .launder_folio = fuse_launder_folio,
> .dirty_folio = iomap_dirty_folio,
> .release_folio = iomap_release_folio,
> + .invalidate_folio = iomap_invalidate_folio,
> + .is_partially_uptodate = iomap_is_partially_uptodate,
> .migrate_folio = filemap_migrate_folio,
> .bmap = fuse_bmap,
> .direct_IO = fuse_direct_IO,
> --
> 2.47.1
>
>