[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <7qhvutk56llzwn3uwutbipkl3lzjnakr5ffphwumf3gm7qv33z@gujs4v4monj7>
Date: Wed, 9 Oct 2024 16:22:21 -0400
From: Kent Overstreet <kent.overstreet@...ux.dev>
To: NeilBrown <neilb@...e.de>
Cc: Stephen Rothwell <sfr@...b.auug.org.au>,
Thomas Gleixner <tglx@...utronix.de>, Ingo Molnar <mingo@...hat.com>, "H. Peter Anvin" <hpa@...or.com>,
Peter Zijlstra <peterz@...radead.org>, Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Linux Next Mailing List <linux-next@...r.kernel.org>
Subject: Re: linux-next: build failure after merge of the tip tree
On Wed, Oct 09, 2024 at 03:02:00PM GMT, NeilBrown wrote:
> 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.
Alright, this is now in my for-next branch:
>From 07b246b3b97c96dd81c22849656b0f920fb9c1e8 Mon Sep 17 00:00:00 2001
From: Kent Overstreet <kent.overstreet@...ux.dev>
Date: Wed, 9 Oct 2024 16:21:00 -0400
Subject: [PATCH] bcachefs: __wait_for_freeing_inode: Switch to
wait_bit_queue_entry
inode_bit_waitqueue() is changing - this update clears the way for
sched changes.
Signed-off-by: Kent Overstreet <kent.overstreet@...ux.dev>
diff --git a/fs/bcachefs/fs.c b/fs/bcachefs/fs.c
index 0630bbb87590..2d3e134e847c 100644
--- a/fs/bcachefs/fs.c
+++ b/fs/bcachefs/fs.c
@@ -278,7 +278,8 @@ static void __wait_on_freeing_inode(struct bch_fs *c,
subvol_inum inum)
{
wait_queue_head_t *wq;
- DEFINE_WAIT_BIT(wait, &inode->v.i_state, __I_NEW);
+ struct wait_bit_queue_entry wait;
+
wq = inode_bit_waitqueue(&wait, &inode->v, __I_NEW);
prepare_to_wait(wq, &wait.wq_entry, TASK_UNINTERRUPTIBLE);
spin_unlock(&inode->v.i_lock);
Powered by blists - more mailing lists