summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBob Peterson <rpeterso@redhat.com>2015-05-19 09:11:23 -0500
committerBob Peterson <rpeterso@redhat.com>2015-12-14 12:19:31 -0600
commit2aba1b5b4f78d56a764b92bae58298ad3fffdc4a (patch)
tree437fc7343008bdfad4d93d238494195e6152fa28
parent901c6c665b1024ea2bbabc24ba609a118459a2d8 (diff)
downloadtalos-op-linux-2aba1b5b4f78d56a764b92bae58298ad3fffdc4a.tar.gz
talos-op-linux-2aba1b5b4f78d56a764b92bae58298ad3fffdc4a.zip
GFS2: Reintroduce a timeout in function gfs2_gl_hash_clear
At some point in the past, we used to have a timeout when GFS2 was unmounting, trying to clear out its glocks. If the timeout expires, it would dump the remaining glocks to the kernel messages so that developers can debug the problem. That timeout was eliminated, probably by accident. This patch reintroduces it. Signed-off-by: Bob Peterson <rpeterso@redhat.com>
-rw-r--r--fs/gfs2/glock.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/gfs2/glock.c b/fs/gfs2/glock.c
index 68484ef89a2c..a4ff7b56f5cd 100644
--- a/fs/gfs2/glock.c
+++ b/fs/gfs2/glock.c
@@ -1506,7 +1506,9 @@ void gfs2_gl_hash_clear(struct gfs2_sbd *sdp)
flush_workqueue(glock_workqueue);
glock_hash_walk(clear_glock, sdp);
flush_workqueue(glock_workqueue);
- wait_event(sdp->sd_glock_wait, atomic_read(&sdp->sd_glock_disposal) == 0);
+ wait_event_timeout(sdp->sd_glock_wait,
+ atomic_read(&sdp->sd_glock_disposal) == 0,
+ HZ * 600);
glock_hash_walk(dump_glock_func, sdp);
}
OpenPOWER on IntegriCloud