diff options
Diffstat (limited to 'fs/gfs2')
-rw-r--r-- | fs/gfs2/glock.c | 10 |
1 files changed, 0 insertions, 10 deletions
diff --git a/fs/gfs2/glock.c b/fs/gfs2/glock.c index 717531d1b2a8..2b3d8f8a8393 100644 --- a/fs/gfs2/glock.c +++ b/fs/gfs2/glock.c | |||
@@ -707,18 +707,8 @@ static void glock_work_func(struct work_struct *work) | |||
707 | { | 707 | { |
708 | unsigned long delay = 0; | 708 | unsigned long delay = 0; |
709 | struct gfs2_glock *gl = container_of(work, struct gfs2_glock, gl_work.work); | 709 | struct gfs2_glock *gl = container_of(work, struct gfs2_glock, gl_work.work); |
710 | struct gfs2_holder *gh; | ||
711 | int drop_ref = 0; | 710 | int drop_ref = 0; |
712 | 711 | ||
713 | if (unlikely(test_bit(GLF_FROZEN, &gl->gl_flags))) { | ||
714 | spin_lock(&gl->gl_spin); | ||
715 | gh = find_first_waiter(gl); | ||
716 | if (gh && (gh->gh_flags & LM_FLAG_NOEXP) && | ||
717 | test_and_clear_bit(GLF_FROZEN, &gl->gl_flags)) | ||
718 | set_bit(GLF_REPLY_PENDING, &gl->gl_flags); | ||
719 | spin_unlock(&gl->gl_spin); | ||
720 | } | ||
721 | |||
722 | if (test_and_clear_bit(GLF_REPLY_PENDING, &gl->gl_flags)) { | 712 | if (test_and_clear_bit(GLF_REPLY_PENDING, &gl->gl_flags)) { |
723 | finish_xmote(gl, gl->gl_reply); | 713 | finish_xmote(gl, gl->gl_reply); |
724 | drop_ref = 1; | 714 | drop_ref = 1; |