gfs2: Don't set GLF_LOCK in gfs2_dispose_glock_lru
[linux-2.6-block.git] / fs / gfs2 / glock.c
index ed90033b9c721a5f6792525e025c831ca4c4d805..a700e424f790363268a30315b285b9d3da0b3dd4 100644 (file)
@@ -2017,14 +2017,13 @@ add_back_to_lru:
                        atomic_inc(&lru_count);
                        continue;
                }
-               if (test_and_set_bit(GLF_LOCK, &gl->gl_flags)) {
+               if (test_bit(GLF_LOCK, &gl->gl_flags)) {
                        spin_unlock(&gl->gl_lockref.lock);
                        goto add_back_to_lru;
                }
                gl->gl_lockref.count++;
                if (demote_ok(gl))
                        handle_callback(gl, LM_ST_UNLOCKED, 0, false);
-               WARN_ON(!test_and_clear_bit(GLF_LOCK, &gl->gl_flags));
                __gfs2_glock_queue_work(gl, 0);
                spin_unlock(&gl->gl_lockref.lock);
                cond_resched_lock(&lru_lock);