2023-12-21 00:19:04

by Stephen Rothwell

[permalink] [raw]
Subject: linux-next: build failure after merge of the vfs-brauner tree

Hi all,

After merging the vfs-brauner tree, today's linux-next build (powerpc
ppc64_defconfig) failed like this:

fs/netfs/buffered_write.c: In function 'netfs_kill_pages':
fs/netfs/buffered_write.c:569:17: error: implicit declaration of function 'generic_error_remove_page'; did you mean 'generic_error_remove_folio'? [-Werror=implicit-function-declaration]
569 | generic_error_remove_page(mapping, folio_page(folio, 0));
| ^~~~~~~~~~~~~~~~~~~~~~~~~
| generic_error_remove_folio

Caused by commit

dec5b4af52dc ("netfs: Provide a writepages implementation")

interacting with commit

af7628d6ec19 ("fs: convert error_remove_page to error_remove_folio")

from the mm-stable tree.

I have applied the following merge resolution patch:

From: Stephen Rothwell <[email protected]>
Date: Thu, 21 Dec 2023 11:08:57 +1100
Subject: [PATCH] fixup for "netfs: Provide a writepages implementation"

interacting with

af7628d6ec19 ("fs: convert error_remove_page to error_remove_folio")

from the mm-stable tree.

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

diff --git a/fs/netfs/buffered_write.c b/fs/netfs/buffered_write.c
index a739805dd394..d7ce424b9188 100644
--- a/fs/netfs/buffered_write.c
+++ b/fs/netfs/buffered_write.c
@@ -566,7 +566,7 @@ static void netfs_kill_pages(struct address_space *mapping,
folio_end_fscache(folio);
folio_end_writeback(folio);
folio_lock(folio);
- generic_error_remove_page(mapping, folio_page(folio, 0));
+ generic_error_remove_folio(mapping, folio);
folio_unlock(folio);
folio_put(folio);

--
2.43.0

--
Cheers,
Stephen Rothwell


Attachments:
(No filename) (499.00 B)
OpenPGP digital signature

2023-12-21 01:33:20

by Matthew Wilcox

[permalink] [raw]
Subject: Re: linux-next: build failure after merge of the vfs-brauner tree

On Thu, Dec 21, 2023 at 11:18:47AM +1100, Stephen Rothwell wrote:
> I have applied the following merge resolution patch:

The merge resolution is correct ...

> +++ b/fs/netfs/buffered_write.c
> @@ -566,7 +566,7 @@ static void netfs_kill_pages(struct address_space *mapping,
> folio_end_fscache(folio);
> folio_end_writeback(folio);
> folio_lock(folio);
> - generic_error_remove_page(mapping, folio_page(folio, 0));

but what Dave wrote here is _not_.

Call folio_page() when you need to go back from folio to page for
something that is intrinsically page based, like kmap(). This isn't
that case. This is an interface that hadn't been converted yet, and
specifying &folio->page is the correct way to handle this because it's
an indication that there is work here to do before we can call the folio
conversion complete.

Please be more careful.

2023-12-21 23:41:46

by Stephen Rothwell

[permalink] [raw]
Subject: Re: linux-next: build failure after merge of the vfs-brauner tree

Hi all,

On Thu, 21 Dec 2023 11:18:47 +1100 Stephen Rothwell <[email protected]> wrote:
>
> After merging the vfs-brauner tree, today's linux-next build (powerpc
> ppc64_defconfig) failed like this:
>
> fs/netfs/buffered_write.c: In function 'netfs_kill_pages':
> fs/netfs/buffered_write.c:569:17: error: implicit declaration of function 'generic_error_remove_page'; did you mean 'generic_error_remove_folio'? [-Werror=implicit-function-declaration]
> 569 | generic_error_remove_page(mapping, folio_page(folio, 0));
> | ^~~~~~~~~~~~~~~~~~~~~~~~~
> | generic_error_remove_folio
>
> Caused by commit
>
> dec5b4af52dc ("netfs: Provide a writepages implementation")
>
> interacting with commit
>
> af7628d6ec19 ("fs: convert error_remove_page to error_remove_folio")
>
> from the mm-stable tree.
>
> I have applied the following merge resolution patch:

The resolution is now:

From: Stephen Rothwell <[email protected]>
Date: Thu, 21 Dec 2023 11:08:57 +1100
Subject: [PATCH] fixup for "netfs: Provide a writepages implementation"

interacting with

af7628d6ec19 ("fs: convert error_remove_page to error_remove_folio")

from the mm-stable tree.

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

diff --git a/fs/netfs/buffered_write.c b/fs/netfs/buffered_write.c
index a739805dd394..d7ce424b9188 100644
--- a/fs/netfs/buffered_write.c
+++ b/fs/netfs/buffered_write.c
@@ -566,7 +566,7 @@ static void netfs_kill_pages(struct address_space *mapping,
folio_end_fscache(folio);
folio_end_writeback(folio);
folio_lock(folio);
- generic_error_remove_page(mapping, &folio->page);
+ generic_error_remove_folio(mapping, folio);
folio_unlock(folio);
folio_put(folio);

--
2.43.0

--
Cheers,
Stephen Rothwell


Attachments:
(No filename) (499.00 B)
OpenPGP digital signature