Re: [RFC 2/2] writeback: Fix false warning in inode_to_wb()
From: Andreas Gruenbacher
Date: Thu Apr 10 2025 - 13:49:37 EST
On Thu, Apr 10, 2025 at 10:52 AM Christoph Hellwig <hch@xxxxxxxxxxxxx> wrote:
> On Mon, Apr 07, 2025 at 08:21:02PM +0200, Andreas Gruenbacher wrote:
> > -static inline struct bdi_writeback *inode_to_wb(const struct inode *inode)
> > +static inline struct bdi_writeback *inode_to_wb(struct inode *inode)
> > {
> > #ifdef CONFIG_LOCKDEP
> > WARN_ON_ONCE(debug_locks &&
> > + inode_cgwb_enabled(inode) &&
> > (!lockdep_is_held(&inode->i_lock) &&
> > !lockdep_is_held(&inode->i_mapping->i_pages.xa_lock) &&
> > !lockdep_is_held(&inode->i_wb->list_lock)));
> > --
>
> This means that even on cgroup aware file systems we now only get
> the locking validation if cgroups are actually enabled for the file
> system instance and thus hugely reducing coverage, which is rather
> unfortunate.
Right. Is checking for (inode->i_sb->s_iflags & SB_I_CGROUPWB) instead okay?
Thanks,
Andreas