]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
GFS2: Reintroduce a timeout in function gfs2_gl_hash_clear
authorBob Peterson <rpeterso@redhat.com>
Tue, 19 May 2015 14:11:23 +0000 (09:11 -0500)
committerBob Peterson <rpeterso@redhat.com>
Mon, 14 Dec 2015 18:19:31 +0000 (12:19 -0600)
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>
fs/gfs2/glock.c

index 68484ef89a2cdff76a79b5921fb5574cad19f835..a4ff7b56f5cdbabc8a1e12830bf0e36221a4c53e 100644 (file)
@@ -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);
 }