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@xxxxxxxxx> Seems reasonable Reviewed-by: "Darrick J. Wong" <djwong@xxxxxxxxxx> --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 > >