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

From: Stephen Rothwell <[email-masked]>
Date: Wed, 11 Sep 2024 11:44:23 +1000

Hi all,

After merging the bcachefs 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,
      |               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Caused by commit

  5b300a92b0b2 ("bcachefs: Switch to memalloc_flags_do() for vmalloc allocations")

interacting with commit

  cec97c753ffe ("Revert "mm: introduce PF_MEMALLOC_NORECLAIM, PF_MEMALLOC_NOWARN"")

from the mm-unstable branch of the mm tree.

I have reverted the mm tree commit for today.
-- 
Cheers,
Stephen Rothwell