diff options
-rw-r--r-- | fs/gfs2/glock.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/fs/gfs2/glock.c b/fs/gfs2/glock.c index 6a3eeba102f9..6b6ae4537340 100644 --- a/fs/gfs2/glock.c +++ b/fs/gfs2/glock.c | |||
@@ -697,8 +697,9 @@ static void handle_callback(struct gfs2_glock *gl, unsigned int state, int remot | |||
697 | } | 697 | } |
698 | return; | 698 | return; |
699 | } | 699 | } |
700 | } else if (gl->gl_demote_state != LM_ST_UNLOCKED) { | 700 | } else if (gl->gl_demote_state != LM_ST_UNLOCKED && |
701 | gl->gl_demote_state = state; | 701 | gl->gl_demote_state != state) { |
702 | gl->gl_demote_state = LM_ST_UNLOCKED; | ||
702 | } | 703 | } |
703 | spin_unlock(&gl->gl_spin); | 704 | spin_unlock(&gl->gl_spin); |
704 | } | 705 | } |