Subject: Re: linux-next: build failure after merge of the bcachefs tree

From: Stephen Rothwell <[email-masked]>
Date: Thu, 10 Oct 2024 16:50:18 +1100

Hi all,

On Fri, 27 Sep 2024 10:46:28 +1000 Stephen Rothwell <[email-masked]> wrote:
>
> After merging the fs-next tree, today's linux-next build (x86_64
> allmodconfig) failed like this:
> 
> In file included from fs/bcachefs/str_hash.h:5,
>                  from fs/bcachefs/xattr.h:5,
>                  from fs/bcachefs/acl.c:6:
> fs/bcachefs/acl.c: In function 'bch2_acl_from_disk':
> fs/bcachefs/btree_iter.h:896:44: error: 'PF_MEMALLOC_NORECLAIM' undeclared (first use in this function); did you mean 'PF_MEMALLOC_NOIO'?
>   896 |         typeof(_do) _p = memalloc_flags_do(PF_MEMALLOC_NORECLAIM|PF_MEMALLOC_NOWARN, _do);\
>       |                                            ^~~~~~~~~~~~~~~~~~~~~
> fs/bcachefs/btree_iter.h:878:53: note: in definition of macro 'memalloc_flags_do'
>   878 |         unsigned _saved_flags = memalloc_flags_save(_flags);                    \
>       |                                                     ^~~~~~
> fs/bcachefs/acl.c:139:15: note: in expansion of macro 'allocate_dropping_locks'
>   139 |         acl = allocate_dropping_locks(trans, ret,
>       |               ^~~~~~~~~~~~~~~~~~~~~~~
> fs/bcachefs/btree_iter.h:896:44: note: each undeclared identifier is reported only once for each function it appears in
>   896 |         typeof(_do) _p = memalloc_flags_do(PF_MEMALLOC_NORECLAIM|PF_MEMALLOC_NOWARN, _do);\
>       |                                            ^~~~~~~~~~~~~~~~~~~~~
> fs/bcachefs/btree_iter.h:878:53: note: in definition of macro 'memalloc_flags_do'
>   878 |         unsigned _saved_flags = memalloc_flags_save(_flags);                    \
>       |                                                     ^~~~~~
> fs/bcachefs/acl.c:139:15: note: in expansion of macro 'allocate_dropping_locks'
>   139 |         acl = allocate_dropping_locks(trans, ret,
>       |               ^~~~~~~~~~~~~~~~~~~~~~~
> fs/bcachefs/btree_iter.h:896:66: error: 'PF_MEMALLOC_NOWARN' undeclared (first use in this function); did you mean 'PF_MEMALLOC_NOFS'?
>   896 |         typeof(_do) _p = memalloc_flags_do(PF_MEMALLOC_NORECLAIM|PF_MEMALLOC_NOWARN, _do);\
>       |                                                                  ^~~~~~~~~~~~~~~~~~
> fs/bcachefs/btree_iter.h:878:53: note: in definition of macro 'memalloc_flags_do'
>   878 |         unsigned _saved_flags = memalloc_flags_save(_flags);                    \
>       |                                                     ^~~~~~
> fs/bcachefs/acl.c:139:15: note: in expansion of macro 'allocate_dropping_locks'
>   139 |         acl = allocate_dropping_locks(trans, ret,
>       |               ^~~~~~~~~~~~~~~~~~~~~~~
> fs/bcachefs/acl.c: In function 'bch2_acl_chmod':
> fs/bcachefs/btree_iter.h:886:38: error: 'PF_MEMALLOC_NORECLAIM' undeclared (first use in this function); did you mean 'PF_MEMALLOC_NOIO'?
>   886 |         int _ret = memalloc_flags_do(PF_MEMALLOC_NORECLAIM|PF_MEMALLOC_NOWARN, _do);\
>       |                                      ^~~~~~~~~~~~~~~~~~~~~
> fs/bcachefs/btree_iter.h:878:53: note: in definition of macro 'memalloc_flags_do'
>   878 |         unsigned _saved_flags = memalloc_flags_save(_flags);                    \
>       |                                                     ^~~~~~
> fs/bcachefs/acl.c:430:15: note: in expansion of macro 'allocate_dropping_locks_errcode'
>   430 |         ret = allocate_dropping_locks_errcode(trans,
>       |               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> fs/bcachefs/btree_iter.h:886:60: error: 'PF_MEMALLOC_NOWARN' undeclared (first use in this function); did you mean 'PF_MEMALLOC_NOFS'?
>   886 |         int _ret = memalloc_flags_do(PF_MEMALLOC_NORECLAIM|PF_MEMALLOC_NOWARN, _do);\
>       |                                                            ^~~~~~~~~~~~~~~~~~
> fs/bcachefs/btree_iter.h:878:53: note: in definition of macro 'memalloc_flags_do'
>   878 |         unsigned _saved_flags = memalloc_flags_save(_flags);                    \
>       |                                                     ^~~~~~
> fs/bcachefs/acl.c:430:15: note: in expansion of macro 'allocate_dropping_locks_errcode'
>   430 |         ret = allocate_dropping_locks_errcode(trans,
>       |               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> In file included from fs/bcachefs/btree_locking.h:13,
>                  from fs/bcachefs/btree_io.h:7,
>                  from fs/bcachefs/btree_cache.c:7:
> fs/bcachefs/btree_cache.c: In function 'bch2_btree_node_mem_alloc':
> fs/bcachefs/btree_cache.c:807:31: error: 'PF_MEMALLOC_NORECLAIM' undeclared (first use in this function); did you mean 'PF_MEMALLOC_NOIO'?
>   807 |         if (memalloc_flags_do(PF_MEMALLOC_NORECLAIM,
>       |                               ^~~~~~~~~~~~~~~~~~~~~
> fs/bcachefs/btree_iter.h:878:53: note: in definition of macro 'memalloc_flags_do'
>   878 |         unsigned _saved_flags = memalloc_flags_save(_flags);                    \
>       |                                                     ^~~~~~
> fs/bcachefs/btree_cache.c:807:31: note: each undeclared identifier is reported only once for each function it appears in
>   807 |         if (memalloc_flags_do(PF_MEMALLOC_NORECLAIM,
>       |                               ^~~~~~~~~~~~~~~~~~~~~
> fs/bcachefs/btree_iter.h:878:53: note: in definition of macro 'memalloc_flags_do'
>   878 |         unsigned _saved_flags = memalloc_flags_save(_flags);                    \
>       |                                                     ^~~~~~
> 
> Caused by commit
> 
>   87a3e08121cb ("bcachefs: Switch to memalloc_flags_do() for vmalloc allocations")
> 
> from the bcachefs tree interacting with commit
> 
>   0df1d8edfe8a ("Revert "mm: introduce PF_MEMALLOC_NORECLAIM, PF_MEMALLOC_NOWARN"")
> 
> from the mm-hotfixes-unstable branch of the mm-hotfixes tree.
> 
> I have reverted that mm-hotfixes commit for today.

The mm-hotixes commit is now in Linus' tree so tomorrow I will have to
revert it from the bcachefs tree merge (in stead of the fs-next tree
merge) unless someone comes up with something better.

-- 
Cheers,
Stephen Rothwell