summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorAndreas Gruenbacher <agruenba@redhat.com>2019-03-06 17:41:57 +0300
committerAndreas Gruenbacher <agruenba@redhat.com>2019-03-08 17:49:01 +0300
commit605b0487f0bc1ae9963bf52ece0f5c8055186f81 (patch)
treed6cdf2eb071b40386ca7b75573b377d3413e35a0 /tools
parent7c03e756b449218b1bddf8e00a12ec7a6be62664 (diff)
downloadlinux-605b0487f0bc1ae9963bf52ece0f5c8055186f81.tar.xz
gfs2: Fix missed wakeups in find_insert_glock
Mark Syms has reported seeing tasks that are stuck waiting in find_insert_glock. It turns out that struct lm_lockname contains four padding bytes on 64-bit architectures that function glock_waitqueue doesn't skip when hashing the glock name. As a result, we can end up waking up the wrong waitqueue, and the waiting tasks may be stuck forever. Fix that by using ht_parms.key_len instead of sizeof(struct lm_lockname) for the key length. Reported-by: Mark Syms <mark.syms@citrix.com> Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com> Signed-off-by: Bob Peterson <rpeterso@redhat.com>
Diffstat (limited to 'tools')
0 files changed, 0 insertions, 0 deletions