From: Andreas Gruenbacher Date: Tue, 4 Feb 2025 12:16:03 +0000 (+0100) Subject: gfs2: glock holder GL_NOPID fix X-Git-Tag: v6.15-rc1~154^2~19 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f83f897614ab4036e76d34f389aee685f6ddb61c;p=thirdparty%2Fkernel%2Flinux.git gfs2: glock holder GL_NOPID fix 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 --- diff --git a/fs/gfs2/glock.c b/fs/gfs2/glock.c index f6cf5cb8c0226..d6e2ca69663e6 100644 --- a/fs/gfs2/glock.c +++ b/fs/gfs2/glock.c @@ -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); } /**