]> git.ipfire.org Git - thirdparty/linux.git/commit
gfs2: glock cancelation flag fix
authorAndreas Gruenbacher <agruenba@redhat.com>
Fri, 12 Dec 2025 16:02:05 +0000 (16:02 +0000)
committerAndreas Gruenbacher <agruenba@redhat.com>
Mon, 26 Jan 2026 13:28:17 +0000 (14:28 +0100)
commitf8f04248c7e9f5d77a93857e3a5d28c0833056dc
tree54c023abff8aa4436fbebe4779ec54692f09c674
parentb54345928fa1dbde534e32ecaa138678fd5d2135
gfs2: glock cancelation flag fix

When an asynchronous glock holder is dequeued that hasn't been granted
yet (HIF_HOLDER not set) and no dlm operation is in progress on behalf
of that holder (GLF_LOCK not set), the dequeuing takes place in
__gfs2_glock_dq().  There, we are not clearing the HIF_WAIT flag and
waking up waiters.  Fix that.

This bug prevents the same holder from being enqueued later (gfs2_glock_nq())
without first reinitializing it (gfs2_holder_reinit()).  The code
doesn't currently use this pattern, but this will change in the next
commit.

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