diff options
author | Matthew Wilcox (Oracle) <willy@infradead.org> | 2020-05-27 23:59:22 +0200 |
---|---|---|
committer | Matthew Wilcox (Oracle) <willy@infradead.org> | 2022-01-08 06:28:41 +0100 |
commit | b9a8a4195c7d3a51235a4fc974a46ad4e9689ffd (patch) | |
tree | 48f7ce0a78ed104be739fb45bfca21cbaf351a44 /mm/internal.h | |
parent | truncate: Convert invalidate_inode_pages2_range to folios (diff) | |
download | linux-b9a8a4195c7d3a51235a4fc974a46ad4e9689ffd.tar.xz linux-b9a8a4195c7d3a51235a4fc974a46ad4e9689ffd.zip |
truncate,shmem: Handle truncates that split large folios
Handle folio splitting in the parts of the truncation functions which
already handle partial pages. Factor all that code out into a new
function called truncate_inode_partial_folio().
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Jan Kara <jack@suse.cz>
Reviewed-by: William Kucharski <william.kucharski@oracle.com>
Diffstat (limited to 'mm/internal.h')
-rw-r--r-- | mm/internal.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/mm/internal.h b/mm/internal.h index c52c05dc6b1f..26af8a5a5be3 100644 --- a/mm/internal.h +++ b/mm/internal.h @@ -98,6 +98,8 @@ unsigned find_get_entries(struct address_space *mapping, pgoff_t start, pgoff_t end, struct folio_batch *fbatch, pgoff_t *indices); void filemap_free_folio(struct address_space *mapping, struct folio *folio); int truncate_inode_folio(struct address_space *mapping, struct folio *folio); +bool truncate_inode_partial_folio(struct folio *folio, loff_t start, + loff_t end); /** * folio_evictable - Test whether a folio is evictable. |