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

From: Stephen Rothwell <[email-masked]>
Date: Fri, 27 Sep 2024 10:46:28 +1000

Hi all,

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.

-- 
Cheers,
Stephen Rothwell