Re: [RESEND PATCH] gfs2: do not evict glocks with populated address spaces

Andreas Gruenbacher <[email protected]>
Newsgroups dev.linux.lists.gfs2,org.kernel.vger.linux-kernel
Message-ID <CAHc6FU5eRLt5X7T1BTK2jCuzKc8PHk7wy0UMCVyfBnerSUF7_Q@mail.gmail.com>
On Tue, Feb 3, 2026 at 12:43 PM Guilherme Giacomo Simoes
<[email protected]> wrote:
> Andreas Gruenbacher <[email protected]> wrote:
> > > Metadata glocks may have associated address spaces used as caches. Avoid
> > > reclaiming such glocks under memory pressure while their mappings are
> > > still populated or their state is not unlocked, as this can lead to
> > > invalid page cache state and GLOCK_BUG_ON().
> >
> > What invalid page cache state and GLOCK_BUG_ON() errors is this about, exactly?
>
> On __gfs2_glock_put() (fs/gfs2/glock.c) the GLOCK_BUG_ON() is triggered under
> memory pressure while the glock is still locked or the glock is populated with
> metadata caches.

There are two GLOCK_BUG_ON() assertions in __gfs2_glock_put(). I
assume you are talking about this one:

GLOCK_BUG_ON(gl, !list_empty(&gl->gl_holders));

This should never trigger because each holder has a glock reference
(see the gfs2_glock_hold() in __gfs2_holder_init()), and so
gl->gl_lockref should never reach zero while there are holders.

If none of the holders has the HIF_HOLDER flag set, we don't know if
the glock is actually locked.

> This happens because the __gfs2_glock_put() can't truncate pages with a private
> datas (truncate_inode_pages_final(mapping) is failed), how the metadata is a
> private folio, the GLOCK_BUG_ON(gl, !mapping_empty(mapping)) is trigged.

What are the actual messages you are getting?

> > This leaks a glock reference, so it's definitely wrong.
>
> But this glock is a private folio with metadata or is still locked. I think
> this can't be evictable

What even makes you think these glocks are evictable?

Thanks,
Andreas
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.