diff options
Diffstat (limited to 'fs/gfs2/glock.c')
| -rw-r--r-- | fs/gfs2/glock.c | 14 |
1 files changed, 3 insertions, 11 deletions
diff --git a/fs/gfs2/glock.c b/fs/gfs2/glock.c index a23524aa3eac..f42dffba056a 100644 --- a/fs/gfs2/glock.c +++ b/fs/gfs2/glock.c | |||
| @@ -173,19 +173,14 @@ void gfs2_glock_add_to_lru(struct gfs2_glock *gl) | |||
| 173 | spin_unlock(&lru_lock); | 173 | spin_unlock(&lru_lock); |
| 174 | } | 174 | } |
| 175 | 175 | ||
| 176 | static void __gfs2_glock_remove_from_lru(struct gfs2_glock *gl) | 176 | static void gfs2_glock_remove_from_lru(struct gfs2_glock *gl) |
| 177 | { | 177 | { |
| 178 | spin_lock(&lru_lock); | ||
| 178 | if (!list_empty(&gl->gl_lru)) { | 179 | if (!list_empty(&gl->gl_lru)) { |
| 179 | list_del_init(&gl->gl_lru); | 180 | list_del_init(&gl->gl_lru); |
| 180 | atomic_dec(&lru_count); | 181 | atomic_dec(&lru_count); |
| 181 | clear_bit(GLF_LRU, &gl->gl_flags); | 182 | clear_bit(GLF_LRU, &gl->gl_flags); |
| 182 | } | 183 | } |
| 183 | } | ||
| 184 | |||
| 185 | static void gfs2_glock_remove_from_lru(struct gfs2_glock *gl) | ||
| 186 | { | ||
| 187 | spin_lock(&lru_lock); | ||
| 188 | __gfs2_glock_remove_from_lru(gl); | ||
| 189 | spin_unlock(&lru_lock); | 184 | spin_unlock(&lru_lock); |
| 190 | } | 185 | } |
| 191 | 186 | ||
| @@ -205,9 +200,7 @@ void gfs2_glock_put(struct gfs2_glock *gl) | |||
| 205 | 200 | ||
| 206 | lockref_mark_dead(&gl->gl_lockref); | 201 | lockref_mark_dead(&gl->gl_lockref); |
| 207 | 202 | ||
| 208 | spin_lock(&lru_lock); | 203 | gfs2_glock_remove_from_lru(gl); |
| 209 | __gfs2_glock_remove_from_lru(gl); | ||
| 210 | spin_unlock(&lru_lock); | ||
| 211 | spin_unlock(&gl->gl_lockref.lock); | 204 | spin_unlock(&gl->gl_lockref.lock); |
| 212 | spin_lock_bucket(gl->gl_hash); | 205 | spin_lock_bucket(gl->gl_hash); |
| 213 | hlist_bl_del_rcu(&gl->gl_list); | 206 | hlist_bl_del_rcu(&gl->gl_list); |
| @@ -775,7 +768,6 @@ int gfs2_glock_get(struct gfs2_sbd *sdp, u64 number, | |||
| 775 | mapping->flags = 0; | 768 | mapping->flags = 0; |
| 776 | mapping_set_gfp_mask(mapping, GFP_NOFS); | 769 | mapping_set_gfp_mask(mapping, GFP_NOFS); |
| 777 | mapping->private_data = NULL; | 770 | mapping->private_data = NULL; |
| 778 | mapping->backing_dev_info = s->s_bdi; | ||
| 779 | mapping->writeback_index = 0; | 771 | mapping->writeback_index = 0; |
| 780 | } | 772 | } |
| 781 | 773 | ||
