On Fri, 2025-02-21 at 20:44 +0000, Matthew Wilcox (Oracle) wrote: > All callers of this function have now been converted to use > folio_mkwrite_check_truncate(). > > Signed-off-by: Matthew Wilcox (Oracle) <willy@xxxxxxxxxxxxx> > --- > include/linux/pagemap.h | 28 ---------------------------- > 1 file changed, 28 deletions(-) > > diff --git a/include/linux/pagemap.h b/include/linux/pagemap.h > index 8c52a637d42b..798e2e39c6e2 100644 > --- a/include/linux/pagemap.h > +++ b/include/linux/pagemap.h > @@ -1579,34 +1579,6 @@ static inline ssize_t folio_mkwrite_check_truncate(struct folio *folio, > return offset; > } > > -/** > - * page_mkwrite_check_truncate - check if page was truncated > - * @page: the page to check > - * @inode: the inode to check the page against > - * > - * Returns the number of bytes in the page up to EOF, > - * or -EFAULT if the page was truncated. > - */ > -static inline int page_mkwrite_check_truncate(struct page *page, > - struct inode *inode) > -{ > - loff_t size = i_size_read(inode); > - pgoff_t index = size >> PAGE_SHIFT; > - int offset = offset_in_page(size); > - > - if (page->mapping != inode->i_mapping) > - return -EFAULT; > - > - /* page is wholly inside EOF */ > - if (page->index < index) > - return PAGE_SIZE; > - /* page is wholly past EOF */ > - if (page->index > index || !offset) > - return -EFAULT; > - /* page is partially inside EOF */ > - return offset; > -} > - > /** > * i_blocks_per_folio - How many blocks fit in this folio. > * @inode: The inode which contains the blocks. As far as I can see, we exchanged the ceph_page_mkwrite() in [PATCH v3 2/9]: - if (page_mkwrite_check_truncate(page, inode) < 0) { - unlock_page(page); + if (folio_mkwrite_check_truncate(folio, inode) < 0) { + folio_unlock(folio); And it was only user of page_mkwrite_check_truncate(). So, we can remove the page_mkwrite_check_truncate() functionality. Reviewed-by: Viacheslav Dubeyko <Slava.Dubeyko@xxxxxxx> Thanks, Slava.