]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
gfs2: glock holder GL_NOPID fix
authorAndreas Gruenbacher <agruenba@redhat.com>
Tue, 4 Feb 2025 12:16:03 +0000 (13:16 +0100)
committerAndreas Gruenbacher <agruenba@redhat.com>
Mon, 10 Mar 2025 17:15:38 +0000 (18:15 +0100)
Glocks are always actively acquired by processes, but as indicated by
the GL_NOPID holder flag, some of them are then associated with objects
like cached inodes rather than the process that acquired them.  As such,
for those glock holders, it makes little sense to dump which processes
originally acquired them.

Therefore, gfs2 is trying to hide the identity of the processes that
acquired those glocks.  The code for doing that is incorrect though, so
fix it.

Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
fs/gfs2/glock.c

index f6cf5cb8c0226b36819e6424cf564f24088a64a7..d6e2ca69663e6b438e51f6ae6ac3ab5ccd88d332 100644 (file)
@@ -1464,9 +1464,7 @@ static inline bool pid_is_meaningful(const struct gfs2_holder *gh)
 {
         if (!(gh->gh_flags & GL_NOPID))
                 return true;
-        if (gh->gh_state == LM_ST_UNLOCKED)
-                return true;
-        return false;
+       return !test_bit(HIF_HOLDER, &gh->gh_iflags);
 }
 
 /**