diff mbox series

[18/23] ocfs2: Convert ocfs2_map_and_dirty_page() to ocfs2_map_and_dirty_folio()

Message ID 20241205171653.3179945-19-willy@infradead.org (mailing list archive)
State New
Headers show
Series Convert ocfs2 to use folios | expand

Commit Message

Matthew Wilcox (Oracle) Dec. 5, 2024, 5:16 p.m. UTC
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>
---
 fs/ocfs2/alloc.c        | 17 ++++++++---------
 fs/ocfs2/alloc.h        |  6 +++---
 fs/ocfs2/refcounttree.c |  5 ++---
 3 files changed, 13 insertions(+), 15 deletions(-)

Comments

Joseph Qi Dec. 14, 2024, 2:36 p.m. UTC | #1
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 mbox series

Patch

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);