]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
gfs2: Fix request cancelation bug
authorAndreas Gruenbacher <agruenba@redhat.com>
Wed, 5 Feb 2025 16:16:38 +0000 (17:16 +0100)
committerAndreas Gruenbacher <agruenba@redhat.com>
Mon, 10 Mar 2025 17:15:38 +0000 (18:15 +0100)
commita431d49243a012738f132054b2303e0815663aac
tree7ed818af45907856b16c79b22f7fae923dd22fba
parentd838605fea6eabae3746a276fd448f6719eb3926
gfs2: Fix request cancelation bug

In finish_xmote(), when a locking request is canceled, the corresponding
holder is moved to the tail of the holders list instead of being
dequeued immediately.  When there is only a single holder, the canceled
locking request is then immediately repeated.  This makes no sense; it
looks like another remnant of LM_FLAG_PRIORITY support.

Instead, dequeue canceled holders and proceed with the next holder in
finish_xmote().  We can then easily detect in gfs2_glock_dq() when a
holder has been canceled.

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