summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrea Arcangeli <andrea@suse.de>2005-05-05 16:15:04 -0700
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-05-05 16:36:30 -0700
commite422fd2c965ad1b0e4eadaabd0adb77e8a93e74e (patch)
treea29a10773141fb0da142abb45ac618f2913f981d
parentf48d9663f19afb88ac0e45b825da523180f1f9c0 (diff)
downloadlinux-e422fd2c965ad1b0e4eadaabd0adb77e8a93e74e.tar.gz
linux-e422fd2c965ad1b0e4eadaabd0adb77e8a93e74e.tar.bz2
linux-e422fd2c965ad1b0e4eadaabd0adb77e8a93e74e.zip
[PATCH] avoid -ENOMEM due reclaimable slab caches
This makes sure that reclaimable buffer headers and reclaimable inodes are accounted properly during the overcommit checks. Signed-off-by: Andrea Arcangeli <andrea@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--fs/buffer.c2
-rw-r--r--fs/inode.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/fs/buffer.c b/fs/buffer.c
index 5f525b3c6d9f..6ed59497fd4d 100644
--- a/fs/buffer.c
+++ b/fs/buffer.c
@@ -3115,7 +3115,7 @@ void __init buffer_init(void)
bh_cachep = kmem_cache_create("buffer_head",
sizeof(struct buffer_head), 0,
- SLAB_PANIC, init_buffer_head, NULL);
+ SLAB_RECLAIM_ACCOUNT|SLAB_PANIC, init_buffer_head, NULL);
/*
* Limit the bh occupancy to 10% of ZONE_NORMAL
diff --git a/fs/inode.c b/fs/inode.c
index af8fd78d2099..90a110feb713 100644
--- a/fs/inode.c
+++ b/fs/inode.c
@@ -1336,7 +1336,7 @@ void __init inode_init(unsigned long mempages)
/* inode slab cache */
inode_cachep = kmem_cache_create("inode_cache", sizeof(struct inode),
- 0, SLAB_PANIC, init_once, NULL);
+ 0, SLAB_RECLAIM_ACCOUNT|SLAB_PANIC, init_once, NULL);
set_shrinker(DEFAULT_SEEKS, shrink_icache_memory);
/* Hash may have been set up in inode_init_early */