[PATCH] alloc_buffer_head() and free_buffer_head() cleanup
Signed-off-by: Coywolf Qi Hunt <qiyong@fc-cn.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
3f4bb1f419
commit
736c7b808f
10
fs/buffer.c
10
fs/buffer.c
|
@ -3046,10 +3046,9 @@ struct buffer_head *alloc_buffer_head(unsigned int __nocast gfp_flags)
|
||||||
{
|
{
|
||||||
struct buffer_head *ret = kmem_cache_alloc(bh_cachep, gfp_flags);
|
struct buffer_head *ret = kmem_cache_alloc(bh_cachep, gfp_flags);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
preempt_disable();
|
get_cpu_var(bh_accounting).nr++;
|
||||||
__get_cpu_var(bh_accounting).nr++;
|
|
||||||
recalc_bh_state();
|
recalc_bh_state();
|
||||||
preempt_enable();
|
put_cpu_var(bh_accounting);
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@ -3059,10 +3058,9 @@ void free_buffer_head(struct buffer_head *bh)
|
||||||
{
|
{
|
||||||
BUG_ON(!list_empty(&bh->b_assoc_buffers));
|
BUG_ON(!list_empty(&bh->b_assoc_buffers));
|
||||||
kmem_cache_free(bh_cachep, bh);
|
kmem_cache_free(bh_cachep, bh);
|
||||||
preempt_disable();
|
get_cpu_var(bh_accounting).nr--;
|
||||||
__get_cpu_var(bh_accounting).nr--;
|
|
||||||
recalc_bh_state();
|
recalc_bh_state();
|
||||||
preempt_enable();
|
put_cpu_var(bh_accounting);
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(free_buffer_head);
|
EXPORT_SYMBOL(free_buffer_head);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue