Subject: Re: linux-next: manual merge of the nfs-anna tree with the mm-stable tree

From: Stephen Rothwell <[email-masked]>
Date: Mon, 15 Jul 2024 11:47:59 +1000

Hi all,

On Mon, 15 Jul 2024 10:58:36 +1000 Stephen Rothwell <[email-masked]> wrote:
>
> Today's linux-next merge of the fs-next tree got conflicts in:
> 
>   fs/nfs/nfstrace.h
>   fs/nfs/write.c
> 
> between commit:
> 
>   237d29075ca7 ("nfs: drop usage of folio_file_pos")
> 
> from the mm-stable tree and commit:
> 
>   64568b27b2d2 ("nfs: pass explicit offset/count to trace events")
> 
> from the nfs-anna tree.
> 
> I fixed it up (for the nfstrace.h file I just used the latter, and see
> below) and can carry the fix as necessary. This is now fixed as far as
> linux-next is concerned, but any non trivial conflicts should be mentioned
> to your upstream maintainer when your tree is submitted for merging.
> You may also want to consider cooperating with the maintainer of the
> conflicting tree to minimise any particularly complex conflicts.
> 
> -- 
> Cheers,
> Stephen Rothwell
> 
> diff --cc fs/nfs/write.c
> index 3573cdc4b28f,680505d664f0..000000000000
> --- a/fs/nfs/write.c
> +++ b/fs/nfs/write.c
> @@@ -279,9 -180,9 +180,9 @@@ static void nfs_grow_file(struct folio 
>   	spin_lock(&inode->i_lock);
>   	i_size = i_size_read(inode);
>   	end_index = ((i_size - 1) >> folio_shift(folio)) << folio_order(folio);
> - 	if (i_size > 0 && folio_index(folio) < end_index)
> + 	if (i_size > 0 && folio->index < end_index)
>   		goto out;
>  -	end = folio_file_pos(folio) + (loff_t)offset + (loff_t)count;
>  +	end = folio_pos(folio) + (loff_t)offset + (loff_t)count;
>   	if (i_size >= end)
>   		goto out;
>   	trace_nfs_size_grow(inode, end);
> @@@ -2073,8 -2062,8 +2062,8 @@@ int nfs_wb_folio_cancel(struct inode *i
>    */
>   int nfs_wb_folio(struct inode *inode, struct folio *folio)
>   {
>  -	loff_t range_start = folio_file_pos(folio);
>  +	loff_t range_start = folio_pos(folio);
> - 	loff_t range_end = range_start + (loff_t)folio_size(folio) - 1;
> + 	size_t len = folio_size(folio);
>   	struct writeback_control wbc = {
>   		.sync_mode = WB_SYNC_ALL,
>   		.nr_to_write = 0,

Due to commit

  564a2ee9f9f6 ("mm: remove page_file_offset and folio_file_pos")

in the mm-stable tree, this also required the following merge fix patch:

From: Stephen Rothwell <[email-masked]>
Date: Mon, 15 Jul 2024 11:23:30 +1000
Subject: [PATCH] fixup for "nfs: pass explicit offset/count to trace events"

interacting with commit

  564a2ee9f9f6 ("mm: remove page_file_offset and folio_file_pos")

from the mm-stable tree.

Signed-off-by: Stephen Rothwell <[email-masked]>
---
 fs/nfs/read.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/nfs/read.c b/fs/nfs/read.c
index 6355a777e428..a6103333b666 100644
--- a/fs/nfs/read.c
+++ b/fs/nfs/read.c
@@ -367,7 +367,7 @@ static int nfs_do_read_folio(struct file *file, struct folio *folio)
 int nfs_read_folio(struct file *file, struct folio *folio)
 {
 	struct inode *inode = file_inode(file);
-	loff_t pos = folio_file_pos(folio);
+	loff_t pos = folio_pos(folio);
 	size_t len = folio_size(folio);
 	int ret;
 
-- 
2.43.0

-- 
Cheers,
Stephen Rothwell