Merge branch 'for-3.20/bdi' of git://git.kernel.dk/linux-block
[linux-drm-fsl-dcu.git] / fs / gfs2 / glock.c
index 08ea717981f788f7422e3b71e81eec45f6247825..f42dffba056ab0e6908788084f1c449e1c2683e6 100644 (file)
@@ -173,19 +173,14 @@ void gfs2_glock_add_to_lru(struct gfs2_glock *gl)
        spin_unlock(&lru_lock);
 }
 
-static void __gfs2_glock_remove_from_lru(struct gfs2_glock *gl)
+static void gfs2_glock_remove_from_lru(struct gfs2_glock *gl)
 {
+       spin_lock(&lru_lock);
        if (!list_empty(&gl->gl_lru)) {
                list_del_init(&gl->gl_lru);
                atomic_dec(&lru_count);
                clear_bit(GLF_LRU, &gl->gl_flags);
        }
-}
-
-static void gfs2_glock_remove_from_lru(struct gfs2_glock *gl)
-{
-       spin_lock(&lru_lock);
-       __gfs2_glock_remove_from_lru(gl);
        spin_unlock(&lru_lock);
 }
 
@@ -205,9 +200,7 @@ void gfs2_glock_put(struct gfs2_glock *gl)
 
        lockref_mark_dead(&gl->gl_lockref);
 
-       spin_lock(&lru_lock);
-       __gfs2_glock_remove_from_lru(gl);
-       spin_unlock(&lru_lock);
+       gfs2_glock_remove_from_lru(gl);
        spin_unlock(&gl->gl_lockref.lock);
        spin_lock_bucket(gl->gl_hash);
        hlist_bl_del_rcu(&gl->gl_list);