On Thu, Nov 12, 2020 at 09:26:34PM +0000, Matthew Wilcox (Oracle) wrote: > We have three functions (shmem_undo_range(), truncate_inode_pages_range() > and invalidate_mapping_pages()) which want exactly this function, > so add it to filemap.c. Before this patch, shmem_undo_range() would > split any compound page which overlaps either end of the range being > punched in both the first and second loops through the address space. > After this patch, that functionality is left for the second loop, which > is arguably more appropriate since the first loop is supposed to run > through all the pages quickly, and splitting a page can sleep. > > Signed-off-by: Matthew Wilcox (Oracle) <willy@xxxxxxxxxxxxx> > Reviewed-by: Jan Kara <jack@xxxxxxx> > Reviewed-by: William Kucharski <william.kucharski@xxxxxxxxxx> Looks good, Reviewed-by: Christoph Hellwig <hch@xxxxxx>