diff --git a/fs/gfs2/glock.c b/fs/gfs2/glock.c index 92e029104d8a..47e8809575d5 100644 --- a/fs/gfs2/glock.c +++ b/fs/gfs2/glock.c @@ -1545,6 +1545,8 @@ static void __gfs2_glock_dq(struct gfs2_holder *gh) list_del_init(&gh->gh_list); clear_bit(HIF_HOLDER, &gh->gh_iflags); trace_gfs2_glock_queue(gh, 0); + if (test_bit(HIF_WAIT, &gh->gh_iflags)) + gfs2_holder_wake(gh); /* * If there hasn't been a demote request we are done.