Hi all,
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,
Hi all,
On Mon, 15 Jul 2024 10:58:36 +1000 Stephen Rothwell <sfr@canb.auug.org.au> 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 <sfr@canb.auug.org.au>
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 <sfr@canb.auug.org.au>
---
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
Thanks Stephen, the fix looks good. Anna, given that the commit is near the head of your branch I can resend (or you can just fix up directy) to use folio_pos instead of folio_file_pos to avoid the harder to fix part of the conflict.
© 2016 - 2026 Red Hat, Inc.