Message ID | 20241205171653.3179945-19-willy@infradead.org (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | Convert ocfs2 to use folios | expand |
On 2024/12/6 01:16, Matthew Wilcox (Oracle) wrote: > From: Mark Tinguely <mark.tinguely@oracle.com> > > All callers now have a folio, so skip the folio->page->folio conversion. > > Signed-off-by: Mark Tinguely <mark.tinguely@oracle.com> > Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org> Looks good. Reviewed-by: Joseph Qi <joseph.qi@linux.alibaba.com> > --- > fs/ocfs2/alloc.c | 17 ++++++++--------- > fs/ocfs2/alloc.h | 6 +++--- > fs/ocfs2/refcounttree.c | 5 ++--- > 3 files changed, 13 insertions(+), 15 deletions(-) > > diff --git a/fs/ocfs2/alloc.c b/fs/ocfs2/alloc.c > index dfcdafc11377..c8d9d5e9a7fd 100644 > --- a/fs/ocfs2/alloc.c > +++ b/fs/ocfs2/alloc.c > @@ -6808,11 +6808,10 @@ static int ocfs2_zero_func(handle_t *handle, struct buffer_head *bh) > return 0; > } > > -void ocfs2_map_and_dirty_page(struct inode *inode, handle_t *handle, > - unsigned int from, unsigned int to, > - struct page *page, int zero, u64 *phys) > +void ocfs2_map_and_dirty_folio(struct inode *inode, handle_t *handle, > + size_t from, size_t to, struct folio *folio, int zero, > + u64 *phys) > { > - struct folio *folio = page_folio(page); > int ret, partial = 0; > loff_t start_byte = folio_pos(folio) + from; > loff_t length = to - from; > @@ -6871,8 +6870,8 @@ static void ocfs2_zero_cluster_folios(struct inode *inode, loff_t start, > BUG_ON(from > PAGE_SIZE); > BUG_ON(to > PAGE_SIZE); > > - ocfs2_map_and_dirty_page(inode, handle, from, to, &folio->page, 1, > - &phys); > + ocfs2_map_and_dirty_folio(inode, handle, from, to, folio, 1, > + &phys); > > start = (folio->index + 1) << PAGE_SHIFT; > } > @@ -7120,7 +7119,7 @@ int ocfs2_convert_inline_data_to_extents(struct inode *inode, > > /* > * Save two copies, one for insert, and one that can > - * be changed by ocfs2_map_and_dirty_page() below. > + * be changed by ocfs2_map_and_dirty_folio() below. > */ > block = phys = ocfs2_clusters_to_blocks(inode->i_sb, bit_off); > > @@ -7143,8 +7142,8 @@ int ocfs2_convert_inline_data_to_extents(struct inode *inode, > goto out_unlock; > } > > - ocfs2_map_and_dirty_page(inode, handle, 0, page_end, &folio->page, 0, > - &phys); > + ocfs2_map_and_dirty_folio(inode, handle, 0, page_end, folio, 0, > + &phys); > } > > spin_lock(&oi->ip_lock); > diff --git a/fs/ocfs2/alloc.h b/fs/ocfs2/alloc.h > index 6a2aca1a062e..1c0c83362904 100644 > --- a/fs/ocfs2/alloc.h > +++ b/fs/ocfs2/alloc.h > @@ -254,9 +254,9 @@ static inline int ocfs2_is_empty_extent(struct ocfs2_extent_rec *rec) > return !rec->e_leaf_clusters; > } > > -void ocfs2_map_and_dirty_page(struct inode *inode, handle_t *handle, > - unsigned int from, unsigned int to, > - struct page *page, int zero, u64 *phys); > +void ocfs2_map_and_dirty_folio(struct inode *inode, handle_t *handle, > + size_t from, size_t to, struct folio *folio, int zero, > + u64 *phys); > /* > * Structures which describe a path through a btree, and functions to > * manipulate them. > diff --git a/fs/ocfs2/refcounttree.c b/fs/ocfs2/refcounttree.c > index 68e0339690e9..693665a36855 100644 > --- a/fs/ocfs2/refcounttree.c > +++ b/fs/ocfs2/refcounttree.c > @@ -2975,9 +2975,8 @@ int ocfs2_duplicate_clusters_by_page(handle_t *handle, > } > } > > - ocfs2_map_and_dirty_page(inode, > - handle, from, to, > - &folio->page, 0, &new_block); > + ocfs2_map_and_dirty_folio(inode, handle, from, to, > + folio, 0, &new_block); > folio_mark_accessed(folio); > unlock: > folio_unlock(folio);
diff --git a/fs/ocfs2/alloc.c b/fs/ocfs2/alloc.c index dfcdafc11377..c8d9d5e9a7fd 100644 --- a/fs/ocfs2/alloc.c +++ b/fs/ocfs2/alloc.c @@ -6808,11 +6808,10 @@ static int ocfs2_zero_func(handle_t *handle, struct buffer_head *bh) return 0; } -void ocfs2_map_and_dirty_page(struct inode *inode, handle_t *handle, - unsigned int from, unsigned int to, - struct page *page, int zero, u64 *phys) +void ocfs2_map_and_dirty_folio(struct inode *inode, handle_t *handle, + size_t from, size_t to, struct folio *folio, int zero, + u64 *phys) { - struct folio *folio = page_folio(page); int ret, partial = 0; loff_t start_byte = folio_pos(folio) + from; loff_t length = to - from; @@ -6871,8 +6870,8 @@ static void ocfs2_zero_cluster_folios(struct inode *inode, loff_t start, BUG_ON(from > PAGE_SIZE); BUG_ON(to > PAGE_SIZE); - ocfs2_map_and_dirty_page(inode, handle, from, to, &folio->page, 1, - &phys); + ocfs2_map_and_dirty_folio(inode, handle, from, to, folio, 1, + &phys); start = (folio->index + 1) << PAGE_SHIFT; } @@ -7120,7 +7119,7 @@ int ocfs2_convert_inline_data_to_extents(struct inode *inode, /* * Save two copies, one for insert, and one that can - * be changed by ocfs2_map_and_dirty_page() below. + * be changed by ocfs2_map_and_dirty_folio() below. */ block = phys = ocfs2_clusters_to_blocks(inode->i_sb, bit_off); @@ -7143,8 +7142,8 @@ int ocfs2_convert_inline_data_to_extents(struct inode *inode, goto out_unlock; } - ocfs2_map_and_dirty_page(inode, handle, 0, page_end, &folio->page, 0, - &phys); + ocfs2_map_and_dirty_folio(inode, handle, 0, page_end, folio, 0, + &phys); } spin_lock(&oi->ip_lock); diff --git a/fs/ocfs2/alloc.h b/fs/ocfs2/alloc.h index 6a2aca1a062e..1c0c83362904 100644 --- a/fs/ocfs2/alloc.h +++ b/fs/ocfs2/alloc.h @@ -254,9 +254,9 @@ static inline int ocfs2_is_empty_extent(struct ocfs2_extent_rec *rec) return !rec->e_leaf_clusters; } -void ocfs2_map_and_dirty_page(struct inode *inode, handle_t *handle, - unsigned int from, unsigned int to, - struct page *page, int zero, u64 *phys); +void ocfs2_map_and_dirty_folio(struct inode *inode, handle_t *handle, + size_t from, size_t to, struct folio *folio, int zero, + u64 *phys); /* * Structures which describe a path through a btree, and functions to * manipulate them. diff --git a/fs/ocfs2/refcounttree.c b/fs/ocfs2/refcounttree.c index 68e0339690e9..693665a36855 100644 --- a/fs/ocfs2/refcounttree.c +++ b/fs/ocfs2/refcounttree.c @@ -2975,9 +2975,8 @@ int ocfs2_duplicate_clusters_by_page(handle_t *handle, } } - ocfs2_map_and_dirty_page(inode, - handle, from, to, - &folio->page, 0, &new_block); + ocfs2_map_and_dirty_folio(inode, handle, from, to, + folio, 0, &new_block); folio_mark_accessed(folio); unlock: folio_unlock(folio);