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>


Reply via email to