Re: [PATCH v3 2/2] writeback: Fix false warning in inode_to_wb()
From: Andrew Morton
Date: Mon Apr 14 2025 - 17:47:53 EST
On Sat, 12 Apr 2025 18:39:12 +0200 Andreas Gruenbacher <agruenba@xxxxxxxxxx> wrote:
> From: Jan Kara <jack@xxxxxxx>
>
> inode_to_wb() is used also for filesystems that don't support cgroup
> writeback. For these filesystems inode->i_wb is stable during the
> lifetime of the inode (it points to bdi->wb) and there's no need to hold
> locks protecting the inode->i_wb dereference. Improve the warning in
> inode_to_wb() to not trigger for these filesystems.
>
> ...
>
> --- a/include/linux/backing-dev.h
> +++ b/include/linux/backing-dev.h
> @@ -249,6 +249,7 @@ static inline struct bdi_writeback *inode_to_wb(const struct inode *inode)
> {
> #ifdef CONFIG_LOCKDEP
> WARN_ON_ONCE(debug_locks &&
> + (inode->i_sb->s_iflags & SB_I_CGROUPWB) &&
> (!lockdep_is_held(&inode->i_lock) &&
> !lockdep_is_held(&inode->i_mapping->i_pages.xa_lock) &&
> !lockdep_is_held(&inode->i_wb->list_lock)));
Is this a does-nothing now GFS2 has been altered?
Otherwise, a bogus WARN is something we'll want to eliminate from
-stable kernels also. Are we able to identify a Fixes: for this?
Thanks.