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 >