Re: [PATCH v3 2/2] writeback: Fix false warning in inode_to_wb()
From: Jan Kara
Date: Mon Apr 14 2025 - 10:32:09 EST
Hi Andrew!
Can you please take this patch through MM tree? Thanks! Andreas is already
taking the first patch in the series through GFS2 tree.
Honza
On Sat 12-04-25 18:39:12, Andreas Gruenbacher 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.
>
> Signed-off-by: Jan Kara <jack@xxxxxxx>
> Reviewed-by: Andreas Gruenbacher <agruenba@xxxxxxxxxx>
> ---
> include/linux/backing-dev.h | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/include/linux/backing-dev.h b/include/linux/backing-dev.h
> index 8e7af9a03b41..e721148c95d0 100644
> --- 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)));
> --
> 2.48.1
>
--
Jan Kara <jack@xxxxxxxx>
SUSE Labs, CR