gfs2: Fix debugfs glocks dump
authorAndreas Gruenbacher <agruenba@redhat.com>
Tue, 19 Sep 2017 12:15:35 +0000 (07:15 -0500)
committerpopcornmix <popcornmix@gmail.com>
Fri, 6 Oct 2017 12:06:52 +0000 (13:06 +0100)
commit85c03c78c1cc5649d2bbcb0a3aa43dff725cab79
tree2679f5ba6ba1b95d43fe62d73f96c58ee8650248
parenta043ecbf8c876f0c50e9e605af64f9fae087f52f
gfs2: Fix debugfs glocks dump

commit 10201655b085df8e000822e496e5d4016a167a36 upstream.

The switch to rhashtables (commit 88ffbf3e03) broke the debugfs glock
dump (/sys/kernel/debug/gfs2/<device>/glocks) for dumps bigger than a
single buffer: the right function for restarting an rhashtable iteration
from the beginning of the hash table is rhashtable_walk_enter;
rhashtable_walk_stop + rhashtable_walk_start will just resume from the
current position.

The upstream commit doesn't directly apply to 4.9.y because 4.9.y
doesn't have the following mainline commits:

  92ecd73a887c4a2b94daf5fc35179d75d1c4ef95
    gfs2: Deduplicate gfs2_{glocks,glstats}_open
  cc37a62785a584f4875788689f3fd1fa6e4eb291
    gfs2: Replace rhashtable_walk_init with rhashtable_walk_enter

Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
Signed-off-by: Bob Peterson <rpeterso@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/gfs2/glock.c