On Tuesday, 9 October 2018 15:47:21 BST Andreas Gruenbacher wrote: > Mark and Tim, > > does the following patch fix the problem, perhaps?
The assertion being that there are several waiters. Certainly possible. We'll give it a try. It takes ~12 hours to hit one instance of this so we've got plenty of thinking time between runs. > Thanks, > Andreas > > --- > fs/gfs2/glock.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/fs/gfs2/glock.c b/fs/gfs2/glock.c > index 4614ee25f621..71e7c380d4c4 100644 > --- a/fs/gfs2/glock.c > +++ b/fs/gfs2/glock.c > @@ -121,7 +121,7 @@ static void wake_up_glock(struct gfs2_glock *gl) > wait_queue_head_t *wq = glock_waitqueue(&gl->gl_name); > > if (waitqueue_active(wq)) > - __wake_up(wq, TASK_NORMAL, 1, &gl->gl_name); > + __wake_up(wq, TASK_NORMAL, 0, &gl->gl_name); > } > > static void gfs2_glock_dealloc(struct rcu_head *rcu) -- Tim Smith <tim.sm...@citrix.com>