Hi, This patch was inspired by Dan Carpenter's email from 17 July.
This patch adds some needed error checking after calling function rhashtable_walk_next. Signed-off-by: Bob Peterson <rpete...@redhat.com> --- diff --git a/fs/gfs2/glock.c b/fs/gfs2/glock.c index 1b0dff4..15227a7 100644 --- a/fs/gfs2/glock.c +++ b/fs/gfs2/glock.c @@ -1794,6 +1794,11 @@ static void gfs2_glock_iter_next(struct gfs2_glock_rht_iter *gi) { do { gi->gl = rhashtable_walk_next(&gi->hti); + if (IS_ERR(gi->gl)) { + if (PTR_ERR(gi->gl) == -EAGAIN) + continue; + gi->gl = NULL; + } /* Skip entries for other sb and dead entries */ } while ((gi->gl) && ((gi->sdp != gi->gl->gl_name.ln_sbd) || __lockref_is_dead(&gi->gl->gl_lockref)));