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

NeilBrown
2024-10-09T04:02:17Z

On Wed, 09 Oct 2024, Stephen Rothwell wrote:
> Hi all,
>
> After merging the tip tree, today's linux-next build (x86_64 allmodconfig)
> failed like this:
>
> In file included from include/linux/fs.h:6,
> from include/linux/highmem.h:5,
> from include/linux/bvec.h:10,
> from include/linux/blk_types.h:10,
> from include/linux/bio.h:10,
> from fs/bcachefs/bcachefs.h:188,
> from fs/bcachefs/fs.c:4:
> fs/bcachefs/fs.c: In function '__wait_on_freeing_inode':
> fs/bcachefs/fs.c:281:31: error: initialization of 'long unsigned int *' from incompatible pointer type 'u32 *' {aka 'unsigned int *'} [-Wincompatible-pointer-types]
> 281 | DEFINE_WAIT_BIT(wait, &inode->v.i_state, __I_NEW);

The fix we want is to replace that line with
struct wait_bit_queue_entry wait;
I should have checked more carefully - sorry.

I guess we wait for rc3?

Kent: could you please make that change? The inode_bit_waitqueue() does
initialisation equivalent of DEFINE_WAIT_BIT() so you only need the declaration.

Thanks,
NeilBrown

> | ^
> include/linux/wait_bit.h:22:20: note: in definition of macro '__WAIT_BIT_KEY_INITIALIZER'
> 22 | { .flags = word, .bit_nr = bit, }
> | ^~~~
> fs/bcachefs/fs.c:281:9: note: in expansion of macro 'DEFINE_WAIT_BIT'
> 281 | DEFINE_WAIT_BIT(wait, &inode->v.i_state, __I_NEW);
> | ^~~~~~~~~~~~~~~
> fs/bcachefs/fs.c:281:31: note: (near initialization for 'wait.key.flags')
> 281 | DEFINE_WAIT_BIT(wait, &inode->v.i_state, __I_NEW);
> | ^
> include/linux/wait_bit.h:22:20: note: in definition of macro '__WAIT_BIT_KEY_INITIALIZER'
> 22 | { .flags = word, .bit_nr = bit, }
> | ^~~~
> fs/bcachefs/fs.c:281:9: note: in expansion of macro 'DEFINE_WAIT_BIT'
> 281 | DEFINE_WAIT_BIT(wait, &inode->v.i_state, __I_NEW);
> | ^~~~~~~~~~~~~~~
>
> Caused by commit
>
> 2382d68d7d43 ("sched: change wake_up_bit() and related function to expect unsigned long *")
>
> I have reverted commit
>
> 35f4c66b66c4 ("Merge branch into tip/master: 'sched/core'")
>
> for today.
>
> --
> Cheers,
> Stephen Rothwell
>