aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fs/buffer.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/fs/buffer.c b/fs/buffer.c
index 6a25d7df89b1..a92b81403552 100644
--- a/fs/buffer.c
+++ b/fs/buffer.c
@@ -3046,10 +3046,9 @@ struct buffer_head *alloc_buffer_head(unsigned int __nocast gfp_flags)
3046{ 3046{
3047 struct buffer_head *ret = kmem_cache_alloc(bh_cachep, gfp_flags); 3047 struct buffer_head *ret = kmem_cache_alloc(bh_cachep, gfp_flags);
3048 if (ret) { 3048 if (ret) {
3049 preempt_disable(); 3049 get_cpu_var(bh_accounting).nr++;
3050 __get_cpu_var(bh_accounting).nr++;
3051 recalc_bh_state(); 3050 recalc_bh_state();
3052 preempt_enable(); 3051 put_cpu_var(bh_accounting);
3053 } 3052 }
3054 return ret; 3053 return ret;
3055} 3054}
@@ -3059,10 +3058,9 @@ void free_buffer_head(struct buffer_head *bh)
3059{ 3058{
3060 BUG_ON(!list_empty(&bh->b_assoc_buffers)); 3059 BUG_ON(!list_empty(&bh->b_assoc_buffers));
3061 kmem_cache_free(bh_cachep, bh); 3060 kmem_cache_free(bh_cachep, bh);
3062 preempt_disable(); 3061 get_cpu_var(bh_accounting).nr--;
3063 __get_cpu_var(bh_accounting).nr--;
3064 recalc_bh_state(); 3062 recalc_bh_state();
3065 preempt_enable(); 3063 put_cpu_var(bh_accounting);
3066} 3064}
3067EXPORT_SYMBOL(free_buffer_head); 3065EXPORT_SYMBOL(free_buffer_head);
3068 3066